00001
00002 #include <XANADOO/domain/interface/XANAEsdEvent.h>
00003 #include <XANADOO/XANAClusters/interface/XANACluster.h>
00004 #include <XANADOO/XANAClusters/interface/XANACaloRecHit.h>
00005 #include <XANADOO/XANAClusters/interface/XANAEmCluster.h>
00006 #include <XANADOO/XANAClusters/interface/XANASuperCluster.h>
00007 #include <XANADOO/XANAClusters/interface/XANAHadCluster.h>
00008 #include <XANADOO/XANATracks/interface/XANATrack.h>
00009 #include <XANADOO/XANAMcInfo/interface/XANAGeneratorEvent.h>
00010 #include <XANADOO/XANAMcInfo/interface/XANAGeantEvent.h>
00011 #include <XANADOO/XANAMcInfo/interface/XANAGeneratorParticle.h>
00012 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronCandidate.h>
00013 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronTrack.h>
00014 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronSeed.h>
00015 #include <XANADOO/XANAMuons/interface/XANAMuonCandidate.h>
00016 #include <XANADOO/XANATriggerInfo/interface/XANATriggerInfo.h>
00017 #include <XANADOO/XANAJets/interface/XANAJet.h>
00018
00019 #include <XANADOO/XANAGeometry/interface/XANAEcalGeometry.h>
00020
00021 #include <XANADOO/XANAnalysisRS/interface/RSElecSelector.h>
00022 #include <XANADOO/XANAnalysisRS/interface/RSCorrectionFunc.h>
00023 #include <XANADOO/XANAnalysisRS/interface/RSSaturation.h>
00024 #include <XANADOO/XANAnalysisRS/interface/RSPhotonAssoc.h>
00025 #include <XANADOO/XANAnalysisRS/interface/ClassRSElec.h>
00026 #include <XANADOO/XANAnalysisRS/interface/RSVertexCorr.h>
00027 #include <XANADOO/XANAnalysisRS/interface/RSDistribAng.h>
00028 #include <XANADOO/XANAnalysisRS/interface/RSMassEstim.h>
00029
00030
00031 #include "TTree.h"
00032 #include "TBits.h"
00033 #include "TObjectTable.h"
00034 #include "TFile.h"
00035 #include "TBranch.h"
00036 #include "TClonesArray.h"
00037 #include "TObjArray.h"
00038 #include "TH1.h"
00039 #include "TH2.h"
00040 #include "TSystem.h"
00041 #include "TChain.h"
00042
00043 #include <string>
00044
00045 using namespace std;
00046
00047 Short_t ne_candidatelectron=0,ns_supercluster=0;
00048 TObjArray *genpart = 0;
00049 TObjArray *clusters = 0;
00050 TObjArray *hadClusters = 0;
00051 TObjArray *superClusters = 0;
00052 TObjArray *preshClusters = 0;
00053 TRefArray *hits = 0;
00054 TObjArray *tracks = 0;
00055 TObjArray *vertices = 0;
00056 TObjArray *electrons = 0;
00057 TObjArray *electronTracks = 0;
00058 TObjArray *muons = 0;
00059
00060
00061
00062
00063 int main(int argc, char** argv)
00064 {
00065
00066 TFile *f;
00067
00068 if (argc==1) f = new TFile("/data/scratch/collard/Production_xana151/zprim/famos/xZprimALRM_m1tev.root");
00069
00070 else f = new TFile(*++argv);
00071
00072
00073 TTree *T = (TTree*)f->Get("ESD");
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086 XANAEsdEvent *event = new XANAEsdEvent();
00087 T->SetBranchAddress("Event.",&event);
00088
00089 XANAGeneratorEvent *generatorEvent = new XANAGeneratorEvent();
00090 T->SetBranchAddress("GeneratorEvent.",&generatorEvent);
00091
00092 XANAGeantEvent *geantEvent = new XANAGeantEvent();
00093 T->SetBranchAddress("GeantEvent.",&geantEvent);
00094
00095
00096
00097
00098
00099
00100 TH1F *histo1000 = new TH1F("histo1000","M RSgrav gen ee ",180,0.,4.5);
00101 TH1F *histo1001 = new TH1F("histo1001","M RSgrav gen",180,0.,4.5);
00102 TH1F *histo1002 = new TH1F("histo1002","M RSgrav rec",180,0.,4.5);
00103 TH1F *histo1003 = new TH1F("histo1003","Delta M ",100,-50.,50.);
00104 TH1F *histo1004 = new TH1F("histo1004","CosTheta gen",20,-1.,1.);
00105 TH1F *histo1005 = new TH1F("histo1005","CosTheta rec",20,-1.,1.);
00106 TH1F *histo1006 = new TH1F("histo1006","CosTheta gen",10,-1.,1.);
00107 TH1F *histo1007 = new TH1F("histo1007","CosTheta rec",10,-1.,1.);
00108 TH1F *histo1008 = new TH1F("histo1008","Delta Cos th",100,-0.5,0.5);
00109 TH1F *histo1009 = new TH1F("histo1009","Delta Cos th",100,-0.2,0.2);
00110
00111
00112 TH1F *histo2000 = new TH1F("histo2000","M RSgrav gen ee ",50, 0.55,0.85);
00113 TH1F *histo2001 = new TH1F("histo2001","M RSgrav gen ",50, 0.55,0.85);
00114 TH1F *histo2002 = new TH1F("histo2002","M RSgrav rec ",50, 0.55,0.85);
00115 TH1F *histo2003 = new TH1F("histo2003","M RSgrav gen ",100, 0.55,0.85);
00116 TH1F *histo2004 = new TH1F("histo2004","M RSgrav rec ",100, 0.55,0.85);
00117 TH1F *histo2005 = new TH1F("histo2005","M RSgrav gen ",200,0.55,0.85);
00118 TH1F *histo2006 = new TH1F("histo2006","M RSgrav rec ",200,0.55,0.85);
00119 TH1F *histo2007 = new TH1F("histo2007","CosTheta gen ",20,-1.,1.);
00120 TH1F *histo2008 = new TH1F("histo2008","CosTheta rec ",20,-1.,1.);
00121 TH1F *histo2009 = new TH1F("histo2009","CosTheta gen ",10,-1.,1.);
00122 TH1F *histo2010 = new TH1F("histo2010","CosTheta rec ",10,-1.,1.);
00123
00124
00125 TH1F *histo2100 = new TH1F("histo2100","M RSgrav gen ee ",50, 0.8,1.1);
00126 TH1F *histo2101 = new TH1F("histo2101","M RSgrav gen ",50, 0.8,1.1);
00127 TH1F *histo2102 = new TH1F("histo2102","M RSgrav rec ",50, 0.8,1.1);
00128 TH1F *histo2103 = new TH1F("histo2103","M RSgrav gen ",100,0.8,1.1);
00129 TH1F *histo2104 = new TH1F("histo2104","M RSgrav rec ",100,0.8,1.1);
00130 TH1F *histo2105 = new TH1F("histo2105","M RSgrav gen ",200,0.8,1.1);
00131 TH1F *histo2106 = new TH1F("histo2106","M RSgrav rec ",200,0.8,1.1);
00132 TH1F *histo2107 = new TH1F("histo2107","CosTheta gen ",20,-1.,1.);
00133 TH1F *histo2108 = new TH1F("histo2108","CosTheta rec ",20,-1.,1.);
00134 TH1F *histo2109 = new TH1F("histo2109","CosTheta gen ",10,-1.,1.);
00135 TH1F *histo2110 = new TH1F("histo2110","CosTheta rec ",10,-1.,1.);
00136
00137
00138 TH1F *histo2200 = new TH1F("histo2200","M RSgrav gen ee ",50, 1.05,1.35);
00139 TH1F *histo2201 = new TH1F("histo2201","M RSgrav gen ",50, 1.05,1.35);
00140 TH1F *histo2202 = new TH1F("histo2202","M RSgrav rec ",50, 1.05,1.35);
00141 TH1F *histo2203 = new TH1F("histo2203","M RSgrav gen ",100,1.05,1.35);
00142 TH1F *histo2204 = new TH1F("histo2204","M RSgrav rec ",100,1.05,1.35);
00143 TH1F *histo2205 = new TH1F("histo2205","M RSgrav gen ",200,1.05,1.35);
00144 TH1F *histo2206 = new TH1F("histo2206","M RSgrav rec ",200,1.05,1.35);
00145 TH1F *histo2207 = new TH1F("histo2207","CosTheta gen ",20,-1.,1.);
00146 TH1F *histo2208 = new TH1F("histo2208","CosTheta rec ",20,-1.,1.);
00147 TH1F *histo2209 = new TH1F("histo2209","CosTheta gen ",10,-1.,1.);
00148 TH1F *histo2210 = new TH1F("histo2210","CosTheta rec ",10,-1.,1.);
00149
00150
00151 TH1F *histo2300 = new TH1F("histo2300","M RSgrav gen ee ",50, 1.3,1.6);
00152 TH1F *histo2301 = new TH1F("histo2301","M RSgrav gen ",50, 1.3,1.6);
00153 TH1F *histo2302 = new TH1F("histo2302","M RSgrav rec ",50, 1.3,1.6);
00154 TH1F *histo2303 = new TH1F("histo2303","M RSgrav gen ",100,1.3,1.6);
00155 TH1F *histo2304 = new TH1F("histo2304","M RSgrav rec ",100,1.3,1.6);
00156 TH1F *histo2305 = new TH1F("histo2305","M RSgrav gen ",200,1.3,1.6);
00157 TH1F *histo2306 = new TH1F("histo2306","M RSgrav rec ",200,1.3,1.6);
00158 TH1F *histo2307 = new TH1F("histo2307","CosTheta gen ",20,-1.,1.);
00159 TH1F *histo2308 = new TH1F("histo2308","CosTheta rec ",20,-1.,1.);
00160 TH1F *histo2309 = new TH1F("histo2309","CosTheta gen ",10,-1.,1.);
00161 TH1F *histo2310 = new TH1F("histo2310","CosTheta rec ",10,-1.,1.);
00162
00163
00164 TH1F *histo2400 = new TH1F("histo2400","M RSgrav gen ee ",50, 1.55,1.85);
00165 TH1F *histo2401 = new TH1F("histo2401","M RSgrav gen ",50, 1.55,1.85);
00166 TH1F *histo2402 = new TH1F("histo2402","M RSgrav rec ",50, 1.55,1.85);
00167 TH1F *histo2403 = new TH1F("histo2403","M RSgrav gen ",100,1.55,1.85);
00168 TH1F *histo2404 = new TH1F("histo2404","M RSgrav rec ",100,1.55,1.85);
00169 TH1F *histo2405 = new TH1F("histo2405","M RSgrav gen ",200,1.55,1.85);
00170 TH1F *histo2406 = new TH1F("histo2406","M RSgrav rec ",200,1.55,1.85);
00171 TH1F *histo2407 = new TH1F("histo2407","CosTheta gen ",20,-1.,1.);
00172 TH1F *histo2408 = new TH1F("histo2408","CosTheta rec ",20,-1.,1.);
00173 TH1F *histo2409 = new TH1F("histo2409","CosTheta gen ",10,-1.,1.);
00174 TH1F *histo2410 = new TH1F("histo2410","CosTheta rec ",10,-1.,1.);
00175
00176
00177 TH1F *histo2500 = new TH1F("histo2500","M RSgrav gen ee ",50, 1.8,2.1);
00178 TH1F *histo2501 = new TH1F("histo2501","M RSgrav gen ",50, 1.8,2.1);
00179 TH1F *histo2502 = new TH1F("histo2502","M RSgrav rec ",50, 1.8,2.1);
00180 TH1F *histo2503 = new TH1F("histo2503","M RSgrav gen ",100,1.8,2.1);
00181 TH1F *histo2504 = new TH1F("histo2504","M RSgrav rec ",100,1.8,2.1);
00182 TH1F *histo2505 = new TH1F("histo2505","M RSgrav gen ",200,1.8,2.1);
00183 TH1F *histo2506 = new TH1F("histo2506","M RSgrav rec ",200,1.8,2.1);
00184 TH1F *histo2507 = new TH1F("histo2507","CosTheta gen ",20,-1.,1.);
00185 TH1F *histo2508 = new TH1F("histo2508","CosTheta rec ",20,-1.,1.);
00186 TH1F *histo2509 = new TH1F("histo2509","CosTheta gen ",10,-1.,1.);
00187 TH1F *histo2510 = new TH1F("histo2510","CosTheta rec ",10,-1.,1.);
00188
00189
00190 TH1F *histo2600 = new TH1F("histo2600","M RSgrav gen ee ",50, 2.3,2.6);
00191 TH1F *histo2601 = new TH1F("histo2601","M RSgrav gen ",50, 2.3,2.6);
00192 TH1F *histo2602 = new TH1F("histo2602","M RSgrav rec ",50, 2.3,2.6);
00193 TH1F *histo2603 = new TH1F("histo2603","M RSgrav gen ",100,2.3,2.6);
00194 TH1F *histo2604 = new TH1F("histo2604","M RSgrav rec ",100,2.3,2.6);
00195 TH1F *histo2605 = new TH1F("histo2605","M RSgrav gen ",200,2.3,2.6);
00196 TH1F *histo2606 = new TH1F("histo2606","M RSgrav rec ",200,2.3,2.6);
00197 TH1F *histo2607 = new TH1F("histo2607","CosTheta gen ",20,-1.,1.);
00198 TH1F *histo2608 = new TH1F("histo2608","CosTheta rec ",20,-1.,1.);
00199 TH1F *histo2609 = new TH1F("histo2609","CosTheta gen ",10,-1.,1.);
00200 TH1F *histo2610 = new TH1F("histo2610","CosTheta rec ",10,-1.,1.);
00201
00202
00203
00204 Int_t nb = 0;
00205 Int_t nevent = (Int_t)T->GetEntries();
00206
00207
00208
00209
00210 cout << "Nombre d entrees a traiter : " << nevent << endl;
00211 for (Int_t i=0; i<nevent; i++) {
00212 nb += T->GetEntry(i);
00213
00214
00215
00216
00217
00218 Short_t mc_np = 0, mc_nsp = 0, mc_nssp = 0, mc_npp = 0, mc_nspp = 0 ;
00219 mc_np = generatorEvent->getNumberOfParticles();
00220 mc_nsp = generatorEvent->getNumberOfSignalParticles();
00221 mc_nssp = generatorEvent->getNumberOfStableSignalParticles();
00222 mc_npp = generatorEvent->getNumberOfPileupParticles();
00223 mc_nspp = generatorEvent->getNumberOfStablePileupParticles();
00224 genpart=generatorEvent->getParticles();
00225 int npart=0,iRSgrav=11,ilink1=0,ilink2=0;
00226 for (int gp=0;gp<mc_np;gp++) {
00227 XANAGeneratorParticle *gpart = (XANAGeneratorParticle *)((*genpart)[gp]);
00228 if ((gpart->getPartId()==11 || gpart->getPartId()==-11) && gpart->getMo1()==12 )
00229 {
00230 if (npart==0)
00231 {
00232
00233 npart++;
00234 ilink1=gp;
00235 }
00236 else if (npart==1)
00237 {
00238
00239 npart++;
00240 ilink2=gp;
00241 }
00242 else
00243 {
00244 cout << " pas possible d'avoir 3 electrons rattaches au RSgrav " << endl;
00245 }
00246 }
00247 }
00248 XANAGeneratorParticle *gRSgrav = (XANAGeneratorParticle *)((*genpart)[iRSgrav]);
00249 XANAGeneratorParticle *gElec1 = (XANAGeneratorParticle *)((*genpart)[ilink1]);
00250 XANAGeneratorParticle *gElec2 = (XANAGeneratorParticle *)((*genpart)[ilink2]);
00251
00252 float trueMassGen=gRSgrav->getMass();
00253 float eeMassGen=RSMassGen(gElec1,gElec2);
00254 float costhetaGen = RSdistribAngGen(gElec1,gElec2);
00255
00256 histo1000->Fill( eeMassGen/1000.);
00257 histo2000->Fill( eeMassGen/1000.);
00258 histo2100->Fill( eeMassGen/1000.);
00259 histo2200->Fill( eeMassGen/1000.);
00260 histo2300->Fill( eeMassGen/1000.);
00261 histo2400->Fill( eeMassGen/1000.);
00262 histo2500->Fill( eeMassGen/1000.);
00263 histo2600->Fill( eeMassGen/1000.);
00264
00265 histo1001->Fill( trueMassGen/1000.);
00266
00267 histo2001->Fill( trueMassGen/1000.);
00268 histo2003->Fill( trueMassGen/1000.);
00269 histo2005->Fill( trueMassGen/1000.);
00270
00271 histo2101->Fill( trueMassGen/1000.);
00272 histo2103->Fill( trueMassGen/1000.);
00273 histo2105->Fill( trueMassGen/1000.);
00274
00275 histo2201->Fill( trueMassGen/1000.);
00276 histo2203->Fill( trueMassGen/1000.);
00277 histo2205->Fill( trueMassGen/1000.);
00278
00279 histo2301->Fill( trueMassGen/1000.);
00280 histo2303->Fill( trueMassGen/1000.);
00281 histo2305->Fill( trueMassGen/1000.);
00282
00283 histo2401->Fill( trueMassGen/1000.);
00284 histo2403->Fill( trueMassGen/1000.);
00285 histo2405->Fill( trueMassGen/1000.);
00286
00287 histo2501->Fill( trueMassGen/1000.);
00288 histo2503->Fill( trueMassGen/1000.);
00289 histo2505->Fill( trueMassGen/1000.);
00290
00291 histo2601->Fill( trueMassGen/1000.);
00292 histo2603->Fill( trueMassGen/1000.);
00293 histo2605->Fill( trueMassGen/1000.);
00294
00295
00296 histo1004->Fill( costhetaGen );
00297 histo1006->Fill( costhetaGen );
00298
00299
00300
00301
00302 Short_t nc = 0, nh = 0, nhc = 0, npc = 0, nt = 0, nv = 0, nvt = 0;
00303 Short_t nm = 0, nelt = 0 ;
00304
00305
00306 nc = event->getNumberOfEmClusters(); clusters = event->getEmClusters();
00307 nh = event->getNumberOfTrackHits(); hits = event->getEmClusterHits();
00308 nhc = event->getNumberOfHadClusters(); hadClusters = event->getHadClusters();
00309 ns_supercluster = event->getNumberOfSuperClusters();
00310 superClusters = event->getSuperClusters();
00311 npc = event->getNumberOfPreshClusters(); preshClusters = event->getPreshClusters();
00312 nt = event->getNumberOfTracks(); tracks = event->getTracks();
00313 nv = event->getNumberOfVertices(); vertices = event->getVertices();
00314 nvt = event->getNumberOfVertexTracks();
00315 ne_candidatelectron = event->getNumberOfElectronCandidates();
00316 electrons = event->getElectronCandidates();
00317 nm = event->getNumberOfMuonCandidates(); muons = event->getMuonCandidates();
00318 nelt = event->getNumberOfElectronTracks(); electronTracks = event->getElectronTracks();
00319
00320
00321
00322
00323
00324 Int_t indexel1=-1, indexel2=-1;
00325
00326
00327
00328 RSSelection(indexel1, indexel2);
00329
00330
00331
00332 if (indexel1>-1 && indexel2>-1)
00333 {
00334 XANAElectronCandidate *elec1 = (XANAElectronCandidate*)((*electrons)[indexel1]);
00335 XANAElectronCandidate *elec2 = (XANAElectronCandidate*)((*electrons)[indexel2]);
00336
00337 float energy1 =elec1->getSuperClusterEnergy()/elec1->getSuperCluster()->getEnergyScaleFactor();
00338 float eta1 =elec1->getSuperCluster()->getPosition().eta();
00339 float phi1 =elec1->getSuperCluster()->getPosition().phi();
00340
00341 float energy2 =elec2->getSuperClusterEnergy()/elec2->getSuperCluster()->getEnergyScaleFactor();
00342 float eta2 =elec2->getSuperCluster()->getPosition().eta();
00343 float phi2 =elec2->getSuperCluster()->getPosition().phi();
00344
00345
00346 int iflag_satur=0;
00347 RSSaturation(elec1, energy1, iflag_satur);
00348 RSSaturation(elec2, energy2, iflag_satur);
00349
00350
00351 float EtIsol1=0.;
00352 float EtIsol2=0.;
00353 RSAssocPhoton(elec1, energy1, EtIsol1);
00354 RSAssocPhoton(elec2, energy2, EtIsol2);
00355
00356
00357
00358 bool FAMOS=true;
00359 float xcor1=RSCorrectionFunc(energy1, eta1, FAMOS);
00360 float xcor2=RSCorrectionFunc(energy2, eta2, FAMOS);
00361 xcor1=1./xcor1;
00362 xcor2=1./xcor2;
00363 energy1*=xcor1;
00364 energy2*=xcor2;
00365
00366
00367
00368 RSElec *cElec1 = new RSElec(elec1,energy1,eta1,phi1,EtIsol1);
00369 RSElec *cElec2 = new RSElec(elec2,energy2,eta2,phi2,EtIsol2);
00370
00371
00372 float eeMassRec=RSMassRec(cElec1,cElec2);
00373
00374
00375 if ( cElec1->getElecIsol()< 0.02* cElec1->getElecEt() &&
00376 cElec2->getElecIsol()< 0.02* cElec2->getElecEt() )
00377 {
00378 float costhetaRec = RSdistribAngRec(cElec1,cElec2);
00379
00380 histo1002->Fill( eeMassRec /1000. );
00381 histo1003->Fill( trueMassGen-eeMassRec);
00382
00383 histo1005->Fill(costhetaRec);
00384 histo1007->Fill(costhetaRec);
00385 histo1008->Fill( costhetaGen-costhetaRec);
00386 histo1009->Fill( costhetaGen-costhetaRec);
00387
00388 histo2002->Fill( eeMassRec /1000. );
00389 histo2004->Fill( eeMassRec /1000. );
00390 histo2006->Fill( eeMassRec /1000. );
00391
00392 histo2102->Fill( eeMassRec /1000. );
00393 histo2104->Fill( eeMassRec /1000. );
00394 histo2106->Fill( eeMassRec /1000. );
00395
00396 histo2202->Fill( eeMassRec /1000. );
00397 histo2204->Fill( eeMassRec /1000. );
00398 histo2206->Fill( eeMassRec /1000. );
00399
00400 histo2302->Fill( eeMassRec /1000. );
00401 histo2304->Fill( eeMassRec /1000. );
00402 histo2306->Fill( eeMassRec /1000. );
00403
00404 histo2402->Fill( eeMassRec /1000. );
00405 histo2404->Fill( eeMassRec /1000. );
00406 histo2406->Fill( eeMassRec /1000. );
00407
00408 histo2502->Fill( eeMassRec /1000. );
00409 histo2504->Fill( eeMassRec /1000. );
00410 histo2506->Fill( eeMassRec /1000. );
00411
00412 histo2602->Fill( eeMassRec /1000. );
00413 histo2604->Fill( eeMassRec /1000. );
00414 histo2606->Fill( eeMassRec /1000. );
00415
00416 if (725<eeMassRec && eeMassRec<775)
00417 {
00418 histo2007->Fill( costhetaGen );
00419 histo2008->Fill( costhetaRec );
00420 histo2009->Fill( costhetaGen );
00421 histo2010->Fill( costhetaRec );
00422 }
00423 else if (975<eeMassRec && eeMassRec<1025)
00424 {
00425 histo2107->Fill( costhetaGen );
00426 histo2108->Fill( costhetaRec );
00427 histo2109->Fill( costhetaGen );
00428 histo2110->Fill( costhetaRec );
00429 }
00430 else if (1225<eeMassRec && eeMassRec<1275)
00431 {
00432 histo2207->Fill( costhetaGen );
00433 histo2208->Fill( costhetaRec );
00434 histo2209->Fill( costhetaGen );
00435 histo2210->Fill( costhetaRec );
00436 }
00437 else if (1475<eeMassRec && eeMassRec<1525)
00438 {
00439 histo2307->Fill( costhetaGen );
00440 histo2308->Fill( costhetaRec );
00441 histo2309->Fill( costhetaGen );
00442 histo2310->Fill( costhetaRec );
00443 }
00444 else if (1725<eeMassRec && eeMassRec<1775)
00445 {
00446 histo2407->Fill( costhetaGen );
00447 histo2408->Fill( costhetaRec );
00448 histo2409->Fill( costhetaGen );
00449 histo2410->Fill( costhetaRec );
00450 }
00451 else if (1975<eeMassRec && eeMassRec<2025)
00452 {
00453 histo2507->Fill( costhetaGen );
00454 histo2508->Fill( costhetaRec );
00455 histo2509->Fill( costhetaGen );
00456 histo2510->Fill( costhetaRec );
00457 }
00458 else if (2475<eeMassRec && eeMassRec<2525)
00459 {
00460 histo2607->Fill( costhetaGen );
00461 histo2608->Fill( costhetaRec );
00462 histo2609->Fill( costhetaGen );
00463 histo2610->Fill( costhetaRec );
00464 }
00465
00466
00467
00468 }
00469
00470
00471
00472 }
00473
00474
00475 event->clear();
00476 generatorEvent->clear();
00477 geantEvent->clear();
00478 }
00479
00480
00481
00482 TFile *filehisto = new TFile("Mass_0.root","RECREATE");
00483
00484 histo1000->Write();
00485 histo1001->Write();
00486 histo1002->Write();
00487 histo1003->Write();
00488 histo1004->Write();
00489 histo1005->Write();
00490 histo1006->Write();
00491 histo1007->Write();
00492 histo1008->Write();
00493 histo1009->Write();
00494
00495
00496 histo2000->Write();
00497 histo2001->Write();
00498 histo2002->Write();
00499 histo2003->Write();
00500 histo2004->Write();
00501 histo2005->Write();
00502 histo2006->Write();
00503 histo2007->Write();
00504 histo2008->Write();
00505 histo2009->Write();
00506 histo2010->Write();
00507
00508 histo2100->Write();
00509 histo2101->Write();
00510 histo2102->Write();
00511 histo2103->Write();
00512 histo2104->Write();
00513 histo2105->Write();
00514 histo2106->Write();
00515 histo2107->Write();
00516 histo2108->Write();
00517 histo2109->Write();
00518 histo2110->Write();
00519
00520 histo2200->Write();
00521 histo2201->Write();
00522 histo2202->Write();
00523 histo2203->Write();
00524 histo2204->Write();
00525 histo2205->Write();
00526 histo2206->Write();
00527 histo2207->Write();
00528 histo2208->Write();
00529 histo2209->Write();
00530 histo2210->Write();
00531
00532 histo2300->Write();
00533 histo2301->Write();
00534 histo2302->Write();
00535 histo2303->Write();
00536 histo2304->Write();
00537 histo2305->Write();
00538 histo2306->Write();
00539 histo2307->Write();
00540 histo2308->Write();
00541 histo2309->Write();
00542 histo2310->Write();
00543
00544 histo2400->Write();
00545 histo2401->Write();
00546 histo2402->Write();
00547 histo2403->Write();
00548 histo2404->Write();
00549 histo2405->Write();
00550 histo2406->Write();
00551 histo2407->Write();
00552 histo2408->Write();
00553 histo2409->Write();
00554 histo2410->Write();
00555
00556 histo2500->Write();
00557 histo2501->Write();
00558 histo2502->Write();
00559 histo2503->Write();
00560 histo2504->Write();
00561 histo2505->Write();
00562 histo2506->Write();
00563 histo2507->Write();
00564 histo2508->Write();
00565 histo2509->Write();
00566 histo2510->Write();
00567
00568 histo2600->Write();
00569 histo2601->Write();
00570 histo2602->Write();
00571 histo2603->Write();
00572 histo2604->Write();
00573 histo2605->Write();
00574 histo2606->Write();
00575 histo2607->Write();
00576 histo2608->Write();
00577 histo2609->Write();
00578 histo2610->Write();
00579
00580
00581 filehisto->Close();
00582
00583
00584 }
00585
00586
00587