#include <XANADOO/domain/interface/XANAEsdEvent.h>
#include <XANADOO/XANAClusters/interface/XANACluster.h>
#include <XANADOO/XANAClusters/interface/XANACaloRecHit.h>
#include <XANADOO/XANAClusters/interface/XANAEmCluster.h>
#include <XANADOO/XANAClusters/interface/XANASuperCluster.h>
#include <XANADOO/XANAClusters/interface/XANAHadCluster.h>
#include <XANADOO/XANATracks/interface/XANATrack.h>
#include <XANADOO/XANAMcInfo/interface/XANAGeneratorEvent.h>
#include <XANADOO/XANAMcInfo/interface/XANAGeantEvent.h>
#include <XANADOO/XANAMcInfo/interface/XANAGeneratorParticle.h>
#include <XANADOO/XANAElectronCandidate/interface/XANAElectronCandidate.h>
#include <XANADOO/XANAElectronCandidate/interface/XANAElectronTrack.h>
#include <XANADOO/XANAElectronCandidate/interface/XANAElectronSeed.h>
#include <XANADOO/XANAMuons/interface/XANAMuonCandidate.h>
#include <XANADOO/XANATriggerInfo/interface/XANATriggerInfo.h>
#include <XANADOO/XANAJets/interface/XANAJet.h>
#include <XANADOO/XANAGeometry/interface/XANAEcalGeometry.h>
#include <XANADOO/XANAnalysisRS/interface/RSElecSelector.h>
#include <XANADOO/XANAnalysisRS/interface/RSCorrectionFunc.h>
#include <XANADOO/XANAnalysisRS/interface/RSSaturation.h>
#include <XANADOO/XANAnalysisRS/interface/RSPhotonAssoc.h>
#include <XANADOO/XANAnalysisRS/interface/ClassRSElec.h>
#include <XANADOO/XANAnalysisRS/interface/RSVertexCorr.h>
#include <XANADOO/XANAnalysisRS/interface/RSDistribAng.h>
#include <XANADOO/XANAnalysisRS/interface/RSMassEstim.h>
#include "TTree.h"
#include "TBits.h"
#include "TObjectTable.h"
#include "TFile.h"
#include "TBranch.h"
#include "TClonesArray.h"
#include "TObjArray.h"
#include "TH1.h"
#include "TH2.h"
#include "TSystem.h"
#include "TChain.h"
#include <string>
Include dependency graph for zprimAnal.cpp:
Go to the source code of this file.
Functions | |
int | main (int argc, char **argv) |
Variables | |
Short_t | ne_candidatelectron = 0ns_supercluster=0 |
TObjArray * | genpart = 0 |
TObjArray * | clusters = 0 |
TObjArray * | hadClusters = 0 |
TObjArray * | superClusters = 0 |
TObjArray * | preshClusters = 0 |
TRefArray * | hits = 0 |
TObjArray * | tracks = 0 |
TObjArray * | vertices = 0 |
TObjArray * | electrons = 0 |
TObjArray * | electronTracks = 0 |
TObjArray * | muons = 0 |
|
Definition at line 62 of file zprimAnal.cpp. References XANAGeantEvent::clear(), XANAGeneratorEvent::clear(), XANAEsdEvent::clear(), clusters, electrons, electronTracks, genpart, RSElec::getElecEt(), RSElec::getElecIsol(), XANAEsdEvent::getElectronCandidates(), XANAEsdEvent::getElectronTracks(), XANAEsdEvent::getEmClusterHits(), XANAEsdEvent::getEmClusters(), XANASuperCluster::getEnergyScaleFactor(), XANAEsdEvent::getHadClusters(), XANAGeneratorParticle::getMass(), XANAGeneratorParticle::getMo1(), XANAEsdEvent::getMuonCandidates(), XANAEsdEvent::getNumberOfElectronCandidates(), XANAEsdEvent::getNumberOfElectronTracks(), XANAEsdEvent::getNumberOfEmClusters(), XANAEsdEvent::getNumberOfHadClusters(), XANAEsdEvent::getNumberOfMuonCandidates(), XANAGeneratorEvent::getNumberOfParticles(), XANAGeneratorEvent::getNumberOfPileupParticles(), XANAEsdEvent::getNumberOfPreshClusters(), XANAGeneratorEvent::getNumberOfSignalParticles(), XANAGeneratorEvent::getNumberOfStablePileupParticles(), XANAGeneratorEvent::getNumberOfStableSignalParticles(), XANAEsdEvent::getNumberOfSuperClusters(), XANAEsdEvent::getNumberOfTrackHits(), XANAEsdEvent::getNumberOfTracks(), XANAEsdEvent::getNumberOfVertexTracks(), XANAEsdEvent::getNumberOfVertices(), XANAGeneratorEvent::getParticles(), XANAGeneratorParticle::getPartId(), XANASuperCluster::getPosition(), XANAEsdEvent::getPreshClusters(), XANAElectronCandidate::getSuperCluster(), XANAElectronCandidate::getSuperClusterEnergy(), XANAEsdEvent::getSuperClusters(), XANAEsdEvent::getTracks(), XANAEsdEvent::getVertices(), hadClusters, hits, muons, ne_candidatelectron, preshClusters, RSAssocPhoton(), RSCorrectionFunc(), RSdistribAngGen(), RSdistribAngRec(), RSMassGen(), RSMassRec(), RSSaturation(), RSSelection(), superClusters, tracks, and vertices.
00063 { 00064 // Connect to file generated 00065 TFile *f; 00066 // if (argc==1) f = new TFile("SE04_E25_Pall_PT30.root"); 00067 if (argc==1) f = new TFile("/data/scratch/collard/Production_xana151/zprim/famos/xZprimALRM_m1tev.root"); 00068 00069 else f = new TFile(*++argv); 00070 00071 // Read Tree named "T" in memory. Tree pointer is assigned the same name 00072 TTree *T = (TTree*)f->Get("ESD"); 00073 00074 00075 // version TChain 00076 // TChain *T = new TChain("ESD"); 00077 // T->Add("file1.root"); 00078 // T->Add("file2.root"); 00079 00080 // example of how to suppress reading of branches 00081 // has to be put before setting the branch addresses! 00082 // T->SetBranchStatus("GeantEvent*",0); 00083 00084 // Reconstructed event 00085 XANAEsdEvent *event = new XANAEsdEvent(); 00086 T->SetBranchAddress("Event.",&event); 00087 // MC information (generator and GEANT event) 00088 XANAGeneratorEvent *generatorEvent = new XANAGeneratorEvent(); 00089 T->SetBranchAddress("GeneratorEvent.",&generatorEvent); 00090 00091 XANAGeantEvent *geantEvent = new XANAGeantEvent(); 00092 T->SetBranchAddress("GeantEvent.",&geantEvent); 00093 00094 00095 00096 00097 // Histo 00098 // sans contrainte de masse 00099 TH1F *histo1000 = new TH1F("histo1000","M Zprime gen ee ",280,0.,7.); 00100 TH1F *histo1001 = new TH1F("histo1001","M Zprime gen",280,0.,7.); 00101 TH1F *histo1002 = new TH1F("histo1002","M Zprime rec",280,0.,7.); 00102 TH1F *histo1003 = new TH1F("histo1003","Delta M ",100,-50.,50.); 00103 TH1F *histo1004 = new TH1F("histo1004","CosTheta gen",20,-1.,1.); 00104 TH1F *histo1005 = new TH1F("histo1005","CosTheta rec",20,-1.,1.); 00105 TH1F *histo1006 = new TH1F("histo1006","CosTheta gen",10,-1.,1.); 00106 TH1F *histo1007 = new TH1F("histo1007","CosTheta rec",10,-1.,1.); 00107 TH1F *histo1008 = new TH1F("histo1008","Delta Cos th",100,-0.5,0.5); 00108 TH1F *histo1009 = new TH1F("histo1009","Delta Cos th",100,-0.2,0.2); 00109 00110 // 1 TeV 00111 TH1F *histo2000 = new TH1F("histo2000","M Zprime gen ee ",24,0.4,1.6); 00112 TH1F *histo2001 = new TH1F("histo2001","M Zprime gen ",24,0.4,1.6); 00113 TH1F *histo2002 = new TH1F("histo2002","M Zprime rec ",24,0.4,1.6); 00114 TH1F *histo2003 = new TH1F("histo2003","M Zprime gen",32,0.5,1.3); 00115 TH1F *histo2004 = new TH1F("histo2004","M Zprime rec",32,0.5,1.3); 00116 TH1F *histo2005 = new TH1F("histo2005","M Zprime gen",80,0.5,1.3); 00117 TH1F *histo2006 = new TH1F("histo2006","M Zprime rec",80,0.5,1.3); 00118 TH1F *histo2007 = new TH1F("histo2007","M Zprime gen",160,0.5,1.3); 00119 TH1F *histo2008 = new TH1F("histo2008","M Zprime rec",160,0.5,1.3); 00120 TH1F *histo2009 = new TH1F("histo2009","M Zprime gen",800,0.5,1.3); 00121 TH1F *histo2010 = new TH1F("histo2010","M Zprime rec",800,0.5,1.3); 00122 TH1F *histo2011 = new TH1F("histo2011","CosTheta gen",20,-1.,1.); 00123 TH1F *histo2012 = new TH1F("histo2012","CosTheta rec",20,-1.,1.); 00124 TH1F *histo2013 = new TH1F("histo2013","CosTheta gen",10,-1.,1.); 00125 TH1F *histo2014 = new TH1F("histo2014","CosTheta rec",10,-1.,1.); 00126 00127 // 3 TeV 00128 TH1F *histo3000 = new TH1F("histo3000","M Zprime gen ee ",30,1.5,4.5); 00129 TH1F *histo3001 = new TH1F("histo3001","M Zprime gen ",30,1.5,4.5); 00130 TH1F *histo3002 = new TH1F("histo3002","M Zprime rec ",30,1.5,4.5); 00131 TH1F *histo3003 = new TH1F("histo3003","M Zprime gen",40,1.8,3.8); 00132 TH1F *histo3004 = new TH1F("histo3004","M Zprime rec",40,1.8,3.8); 00133 TH1F *histo3005 = new TH1F("histo3005","M Zprime gen",100,1.8,3.8); 00134 TH1F *histo3006 = new TH1F("histo3006","M Zprime rec",100,1.8,3.8); 00135 TH1F *histo3007 = new TH1F("histo3007","M Zprime gen",200,1.8,3.8); 00136 TH1F *histo3008 = new TH1F("histo3008","M Zprime rec",200,1.8,3.8); 00137 TH1F *histo3009 = new TH1F("histo3009","M Zprime gen",2000,1.8,3.8); 00138 TH1F *histo3010 = new TH1F("histo3010","M Zprime rec",2000,1.8,3.8); 00139 TH1F *histo3011 = new TH1F("histo3011","CosTheta gen",20,-1.,1.); 00140 TH1F *histo3012 = new TH1F("histo3012","CosTheta rec",20,-1.,1.); 00141 TH1F *histo3013 = new TH1F("histo3013","CosTheta gen",10,-1.,1.); 00142 TH1F *histo3014 = new TH1F("histo3014","CosTheta rec",10,-1.,1.); 00143 00144 // 5 TeV 00145 TH1F *histo4000 = new TH1F("histo4000","M Zprime gen ee ",40,3.0,7.0); 00146 TH1F *histo4001 = new TH1F("histo4001","M Zprime gen ",40,3.0,7.0); 00147 TH1F *histo4002 = new TH1F("histo4002","M Zprime rec ",40,3.0,7.0); 00148 TH1F *histo4003 = new TH1F("histo4003","M Zprime gen",50,3.5,6.0); 00149 TH1F *histo4004 = new TH1F("histo4004","M Zprime rec",50,3.5,6.0); 00150 TH1F *histo4005 = new TH1F("histo4005","M Zprime gen",125,3.5,6.0); 00151 TH1F *histo4006 = new TH1F("histo4006","M Zprime rec",125,3.5,6.0); 00152 TH1F *histo4007 = new TH1F("histo4007","M Zprime gen",250,3.5,6.0); 00153 TH1F *histo4008 = new TH1F("histo4008","M Zprime rec",250,3.5,6.0); 00154 TH1F *histo4009 = new TH1F("histo4009","M Zprime gen",2500,3.5,6.0); 00155 TH1F *histo4010 = new TH1F("histo4010","M Zprime rec",2500,3.5,6.0); 00156 TH1F *histo4011 = new TH1F("histo4011","CosTheta gen",20,-1.,1.); 00157 TH1F *histo4012 = new TH1F("histo4012","CosTheta rec",20,-1.,1.); 00158 TH1F *histo4013 = new TH1F("histo4013","CosTheta gen",10,-1.,1.); 00159 TH1F *histo4014 = new TH1F("histo4014","CosTheta rec",10,-1.,1.); 00160 00161 // 5 TeV sans saturation 00162 TH1F *histo5000 = new TH1F("histo5000","M Zprime gen ee ",40,3.0,7.0); 00163 TH1F *histo5001 = new TH1F("histo5001","M Zprime gen ",40,3.0,7.0); 00164 TH1F *histo5002 = new TH1F("histo5002","M Zprime rec ",40,3.0,7.0); 00165 TH1F *histo5003 = new TH1F("histo5003","M Zprime gen",50,3.5,6.0); 00166 TH1F *histo5004 = new TH1F("histo5004","M Zprime rec",50,3.5,6.0); 00167 TH1F *histo5005 = new TH1F("histo5005","M Zprime gen",125,3.5,6.0); 00168 TH1F *histo5006 = new TH1F("histo5006","M Zprime rec",125,3.5,6.0); 00169 TH1F *histo5007 = new TH1F("histo5007","M Zprime gen",250,3.5,6.0); 00170 TH1F *histo5008 = new TH1F("histo5008","M Zprime rec",250,3.5,6.0); 00171 TH1F *histo5009 = new TH1F("histo5009","M Zprime gen",2500,3.5,6.0); 00172 TH1F *histo5010 = new TH1F("histo5010","M Zprime rec",2500,3.5,6.0); 00173 TH1F *histo5011 = new TH1F("histo5011","CosTheta gen",20,-1.,1.); 00174 TH1F *histo5012 = new TH1F("histo5012","CosTheta rec",20,-1.,1.); 00175 TH1F *histo5013 = new TH1F("histo5013","CosTheta gen",10,-1.,1.); 00176 TH1F *histo5014 = new TH1F("histo5014","CosTheta rec",10,-1.,1.); 00177 00178 00179 // Start main loop on all events 00180 Int_t nb = 0; 00181 Int_t nevent = (Int_t)T->GetEntries(); 00182 00183 // nevent =10; 00184 00185 00186 cout << "Nombre d entrees a traiter : " << nevent << endl; 00187 for (Int_t i=0; i<nevent; i++) { 00188 nb += T->GetEntry(i); 00189 00190 00191 // Monte Carlo information 00192 00193 // generator event 00194 Short_t mc_np = 0, mc_nsp = 0, mc_nssp = 0, mc_npp = 0, mc_nspp = 0 ; 00195 mc_np = generatorEvent->getNumberOfParticles(); 00196 mc_nsp = generatorEvent->getNumberOfSignalParticles(); 00197 mc_nssp = generatorEvent->getNumberOfStableSignalParticles(); 00198 mc_npp = generatorEvent->getNumberOfPileupParticles(); 00199 mc_nspp = generatorEvent->getNumberOfStablePileupParticles(); 00200 genpart=generatorEvent->getParticles(); 00201 int npart=0,izprime=11,ilink1=0,ilink2=0; 00202 for (int gp=0;gp<mc_np;gp++) { 00203 XANAGeneratorParticle *gpart = (XANAGeneratorParticle *)((*genpart)[gp]); 00204 if ((gpart->getPartId()==11 || gpart->getPartId()==-11) && gpart->getMo1()==12 ) 00205 { 00206 if (npart==0) 00207 { 00208 // elec 1 00209 npart++; 00210 ilink1=gp; 00211 } 00212 else if (npart==1) 00213 { 00214 //elec 2 00215 npart++; 00216 ilink2=gp; 00217 } 00218 else 00219 { 00220 cout << " pas possible d'avoir 3 electrons rattaches au Zprime " << endl; 00221 } 00222 } 00223 } 00224 XANAGeneratorParticle *gZprim = (XANAGeneratorParticle *)((*genpart)[izprime]); 00225 XANAGeneratorParticle *gElec1 = (XANAGeneratorParticle *)((*genpart)[ilink1]); 00226 XANAGeneratorParticle *gElec2 = (XANAGeneratorParticle *)((*genpart)[ilink2]); 00227 00228 float ZMassGen=gZprim->getMass(); 00229 float eeMassGen=RSMassGen(gElec1,gElec2); 00230 float costhetaGen = RSdistribAngGen(gElec1,gElec2); 00231 00232 histo1000->Fill( eeMassGen/1000.); 00233 histo2000->Fill( eeMassGen/1000.); 00234 histo3000->Fill( eeMassGen/1000.); 00235 histo4000->Fill( eeMassGen/1000.); 00236 histo5000->Fill( eeMassGen/1000.); 00237 00238 histo1001->Fill( ZMassGen/1000.); 00239 00240 histo2001->Fill( ZMassGen/1000.); 00241 histo2003->Fill( ZMassGen/1000.); 00242 histo2005->Fill( ZMassGen/1000.); 00243 histo2007->Fill( ZMassGen/1000.); 00244 histo2009->Fill( ZMassGen/1000.); 00245 00246 histo3001->Fill( ZMassGen/1000.); 00247 histo3003->Fill( ZMassGen/1000.); 00248 histo3005->Fill( ZMassGen/1000.); 00249 histo3007->Fill( ZMassGen/1000.); 00250 histo3009->Fill( ZMassGen/1000.); 00251 00252 histo4001->Fill( ZMassGen/1000.); 00253 histo4003->Fill( ZMassGen/1000.); 00254 histo4005->Fill( ZMassGen/1000.); 00255 histo4007->Fill( ZMassGen/1000.); 00256 histo4009->Fill( ZMassGen/1000.); 00257 00258 histo5001->Fill( ZMassGen/1000.); 00259 histo5003->Fill( ZMassGen/1000.); 00260 histo5005->Fill( ZMassGen/1000.); 00261 histo5007->Fill( ZMassGen/1000.); 00262 histo5009->Fill( ZMassGen/1000.); 00263 00264 histo1004->Fill( costhetaGen ); 00265 histo1006->Fill( costhetaGen ); 00266 00267 // Reconstructed event 00268 00269 // Definitions 00270 Short_t nc = 0, nh = 0, nhc = 0, npc = 0, nt = 0, nv = 0, nvt = 0; 00271 Short_t nm = 0, nelt = 0 ; 00272 00273 00274 nc = event->getNumberOfEmClusters(); clusters = event->getEmClusters(); 00275 nh = event->getNumberOfTrackHits(); hits = event->getEmClusterHits(); 00276 nhc = event->getNumberOfHadClusters(); hadClusters = event->getHadClusters(); 00277 ns_supercluster = event->getNumberOfSuperClusters(); 00278 superClusters = event->getSuperClusters(); 00279 npc = event->getNumberOfPreshClusters(); preshClusters = event->getPreshClusters(); 00280 nt = event->getNumberOfTracks(); tracks = event->getTracks(); 00281 nv = event->getNumberOfVertices(); vertices = event->getVertices(); 00282 nvt = event->getNumberOfVertexTracks(); 00283 ne_candidatelectron = event->getNumberOfElectronCandidates(); 00284 electrons = event->getElectronCandidates(); 00285 nm = event->getNumberOfMuonCandidates(); muons = event->getMuonCandidates(); 00286 nelt = event->getNumberOfElectronTracks(); electronTracks = event->getElectronTracks(); 00287 00288 00289 00290 // electrons 00291 Int_t indexel1=-1, indexel2=-1; 00292 00293 // Selection des 2 candidats electrons les plus energetiques 00294 00295 RSSelection(indexel1, indexel2); 00296 00297 // On ne travaille qu'avec les 2 Candidats Electrons les + energetiques 00298 00299 if (indexel1>-1 && indexel2>-1) 00300 { 00301 XANAElectronCandidate *elec1 = (XANAElectronCandidate*)((*electrons)[indexel1]); 00302 XANAElectronCandidate *elec2 = (XANAElectronCandidate*)((*electrons)[indexel2]); 00303 00304 float energy1 =elec1->getSuperClusterEnergy()/elec1->getSuperCluster()->getEnergyScaleFactor(); 00305 float eta1 =elec1->getSuperCluster()->getPosition().eta(); 00306 float phi1 =elec1->getSuperCluster()->getPosition().phi(); 00307 00308 float energy2 =elec2->getSuperClusterEnergy()/elec2->getSuperCluster()->getEnergyScaleFactor(); 00309 float eta2 =elec2->getSuperCluster()->getPosition().eta(); 00310 float phi2 =elec2->getSuperCluster()->getPosition().phi(); 00311 00312 // Traitement de la saturation 00313 int iflag_satur=0; 00314 RSSaturation(elec1, energy1, iflag_satur); 00315 RSSaturation(elec2, energy2, iflag_satur); 00316 00317 // Association des photons 00318 float EtIsol1=0.; 00319 float EtIsol2=0.; 00320 RSAssocPhoton(elec1, energy1, EtIsol1); 00321 RSAssocPhoton(elec2, energy2, EtIsol2); 00322 00323 // Correction de l'energie pour eta 00324 00325 bool FAMOS=true; 00326 float xcor1=RSCorrectionFunc(energy1, eta1, FAMOS); 00327 float xcor2=RSCorrectionFunc(energy2, eta2, FAMOS); 00328 xcor1=1./xcor1; 00329 xcor2=1./xcor2; 00330 energy1*=xcor1; 00331 energy2*=xcor2; 00332 00333 // Candidat RSElec 00334 00335 RSElec *cElec1 = new RSElec(elec1,energy1,eta1,phi1,EtIsol1); 00336 RSElec *cElec2 = new RSElec(elec2,energy2,eta2,phi2,EtIsol2); 00337 00338 // Masse Reconstruite 00339 float eeMassRec=RSMassRec(cElec1,cElec2); 00340 00341 // Cut en iso (H/E pas encore dispo dans FAMOS 1_2_0) 00342 if ( cElec1->getElecIsol()< 0.02* cElec1->getElecEt() && 00343 cElec2->getElecIsol()< 0.02* cElec2->getElecEt() ) 00344 { 00345 float costhetaRec = RSdistribAngRec(cElec1,cElec2); 00346 00347 histo1002->Fill( eeMassRec /1000. ); 00348 histo1003->Fill( ZMassGen-eeMassRec); 00349 00350 histo1005->Fill(costhetaRec); 00351 histo1007->Fill(costhetaRec); 00352 histo1008->Fill( costhetaGen-costhetaRec); 00353 histo1009->Fill( costhetaGen-costhetaRec); 00354 00355 histo2002->Fill( eeMassRec /1000. ); 00356 histo2004->Fill( eeMassRec /1000. ); 00357 histo2006->Fill( eeMassRec /1000. ); 00358 histo2008->Fill( eeMassRec /1000. ); 00359 histo2010->Fill( eeMassRec /1000. ); 00360 00361 histo3002->Fill( eeMassRec /1000. ); 00362 histo3004->Fill( eeMassRec /1000. ); 00363 histo3006->Fill( eeMassRec /1000. ); 00364 histo3008->Fill( eeMassRec /1000. ); 00365 histo3010->Fill( eeMassRec /1000. ); 00366 00367 histo4002->Fill( eeMassRec /1000. ); 00368 histo4004->Fill( eeMassRec /1000. ); 00369 histo4006->Fill( eeMassRec /1000. ); 00370 histo4008->Fill( eeMassRec /1000. ); 00371 histo4010->Fill( eeMassRec /1000. ); 00372 00373 if (iflag_satur==0) 00374 { 00375 histo5002->Fill( eeMassRec /1000. ); 00376 histo5004->Fill( eeMassRec /1000. ); 00377 histo5006->Fill( eeMassRec /1000. ); 00378 histo5008->Fill( eeMassRec /1000. ); 00379 histo5010->Fill( eeMassRec /1000. ); 00380 } 00381 00382 if (900<eeMassRec && eeMassRec<1100) 00383 { 00384 histo2011->Fill( costhetaGen ); 00385 histo2012->Fill( costhetaRec ); 00386 histo2013->Fill( costhetaGen ); 00387 histo2014->Fill( costhetaRec ); 00388 } 00389 else if (2750<eeMassRec && eeMassRec<3250) 00390 { 00391 histo3011->Fill( costhetaGen ); 00392 histo3012->Fill( costhetaRec ); 00393 histo3013->Fill( costhetaGen ); 00394 histo3014->Fill( costhetaRec ); 00395 } 00396 else if (4500<eeMassRec && eeMassRec<5500) 00397 { 00398 histo4011->Fill( costhetaGen ); 00399 histo4012->Fill( costhetaRec ); 00400 histo4013->Fill( costhetaGen ); 00401 histo4014->Fill( costhetaRec ); 00402 if (iflag_satur==0) 00403 { 00404 histo5011->Fill( costhetaGen ); 00405 histo5012->Fill( costhetaRec ); 00406 histo5013->Fill( costhetaGen ); 00407 histo5014->Fill( costhetaRec ); 00408 } 00409 } 00410 00411 00412 00413 } 00414 00415 00416 00417 } 00418 00419 00420 event->clear(); 00421 generatorEvent->clear(); 00422 geantEvent->clear(); 00423 } 00424 00425 // f.Close(); 00426 // 00427 TFile *filehisto = new TFile("Mass_0.root","RECREATE"); 00428 00429 histo1000->Write(); 00430 histo1001->Write(); 00431 histo1002->Write(); 00432 histo1003->Write(); 00433 histo1004->Write(); 00434 histo1005->Write(); 00435 histo1006->Write(); 00436 histo1007->Write(); 00437 histo1008->Write(); 00438 histo1009->Write(); 00439 00440 00441 histo2000->Write(); 00442 histo2001->Write(); 00443 histo2002->Write(); 00444 histo2003->Write(); 00445 histo2004->Write(); 00446 histo2005->Write(); 00447 histo2006->Write(); 00448 histo2007->Write(); 00449 histo2008->Write(); 00450 histo2009->Write(); 00451 histo2010->Write(); 00452 histo2011->Write(); 00453 histo2012->Write(); 00454 histo2013->Write(); 00455 histo2014->Write(); 00456 00457 histo3000->Write(); 00458 histo3001->Write(); 00459 histo3002->Write(); 00460 histo3003->Write(); 00461 histo3004->Write(); 00462 histo3005->Write(); 00463 histo3006->Write(); 00464 histo3007->Write(); 00465 histo3008->Write(); 00466 histo3009->Write(); 00467 histo3010->Write(); 00468 histo3011->Write(); 00469 histo3012->Write(); 00470 histo3013->Write(); 00471 histo3014->Write(); 00472 00473 histo4000->Write(); 00474 histo4001->Write(); 00475 histo4002->Write(); 00476 histo4003->Write(); 00477 histo4004->Write(); 00478 histo4005->Write(); 00479 histo4006->Write(); 00480 histo4007->Write(); 00481 histo4008->Write(); 00482 histo4009->Write(); 00483 histo4010->Write(); 00484 histo4011->Write(); 00485 histo4012->Write(); 00486 histo4013->Write(); 00487 histo4014->Write(); 00488 00489 histo5000->Write(); 00490 histo5001->Write(); 00491 histo5002->Write(); 00492 histo5003->Write(); 00493 histo5004->Write(); 00494 histo5005->Write(); 00495 histo5006->Write(); 00496 histo5007->Write(); 00497 histo5008->Write(); 00498 histo5009->Write(); 00499 histo5010->Write(); 00500 histo5011->Write(); 00501 histo5012->Write(); 00502 histo5013->Write(); 00503 histo5014->Write(); 00504 00505 00506 filehisto->Close(); 00507 00508 00509 } |
|
Definition at line 49 of file zprimAnal.cpp. Referenced by ClusterObserver::upDate(). |
|
Definition at line 56 of file zprimAnal.cpp. |
|
Definition at line 57 of file zprimAnal.cpp. |
|
Definition at line 48 of file zprimAnal.cpp. |
|
Definition at line 50 of file zprimAnal.cpp. |
|
Definition at line 53 of file zprimAnal.cpp. |
|
Definition at line 58 of file zprimAnal.cpp. |
|
Definition at line 47 of file zprimAnal.cpp. |
|
Definition at line 52 of file zprimAnal.cpp. |
|
Definition at line 51 of file zprimAnal.cpp. |
|
Definition at line 54 of file zprimAnal.cpp. Referenced by TrackObserver::upDate(). |
|
Definition at line 55 of file zprimAnal.cpp. Referenced by VertexObserver::upDate(). |