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