#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 rsAnalc0p01.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 63 of file rsAnalc0p01.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.
00064 { 00065 // Connect to file generated 00066 TFile *f; 00067 // if (argc==1) f = new TFile("SE04_E25_Pall_PT30.root"); 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 // Read Tree named "T" in memory. Tree pointer is assigned the same name 00073 TTree *T = (TTree*)f->Get("ESD"); 00074 00075 00076 // version TChain 00077 // TChain *T = new TChain("ESD"); 00078 // T->Add("file1.root"); 00079 // T->Add("file2.root"); 00080 00081 // example of how to suppress reading of branches 00082 // has to be put before setting the branch addresses! 00083 // T->SetBranchStatus("GeantEvent*",0); 00084 00085 // Reconstructed event 00086 XANAEsdEvent *event = new XANAEsdEvent(); 00087 T->SetBranchAddress("Event.",&event); 00088 // MC information (generator and GEANT event) 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 // Histo 00099 // sans contrainte de masse 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 // 0TeV75 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 // 1TeV 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 // 1TeV25 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 // 1TeV5 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 // 1TeV75 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 // 2TeV 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 // 2TeV5 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 // Start main loop on all events 00204 Int_t nb = 0; 00205 Int_t nevent = (Int_t)T->GetEntries(); 00206 00207 // nevent =10; 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 // Monte Carlo information 00216 00217 // generator event 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 // elec 1 00233 npart++; 00234 ilink1=gp; 00235 } 00236 else if (npart==1) 00237 { 00238 //elec 2 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 // Reconstructed event 00300 00301 // Definitions 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 // electrons 00324 Int_t indexel1=-1, indexel2=-1; 00325 00326 // Selection des 2 candidats electrons les plus energetiques 00327 00328 RSSelection(indexel1, indexel2); 00329 00330 // On ne travaille qu'avec les 2 Candidats Electrons les + energetiques 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 // Traitement de la saturation 00346 int iflag_satur=0; 00347 RSSaturation(elec1, energy1, iflag_satur); 00348 RSSaturation(elec2, energy2, iflag_satur); 00349 00350 // Association des photons 00351 float EtIsol1=0.; 00352 float EtIsol2=0.; 00353 RSAssocPhoton(elec1, energy1, EtIsol1); 00354 RSAssocPhoton(elec2, energy2, EtIsol2); 00355 00356 // Correction de l'energie pour eta 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 // Candidat RSElec 00367 00368 RSElec *cElec1 = new RSElec(elec1,energy1,eta1,phi1,EtIsol1); 00369 RSElec *cElec2 = new RSElec(elec2,energy2,eta2,phi2,EtIsol2); 00370 00371 // Masse Reconstruite 00372 float eeMassRec=RSMassRec(cElec1,cElec2); 00373 00374 // Cut en iso (H/E pas encore dispo dans FAMOS 1_2_0) 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 // f.Close(); 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 } |
|
Definition at line 49 of file rsAnalc0p01.cpp. Referenced by main(), XANAEsdBuilder::setEmClusters(), ClusterObserver::upDate(), and XANAEsdBuilder::XANAEsdBuilder(). |
|
Definition at line 56 of file rsAnalc0p01.cpp. Referenced by main(), XANAEsdBuilder::setElectrons(), ElectronObserver::upDate(), and XANAEsdBuilder::XANAEsdBuilder(). |
|
Definition at line 57 of file rsAnalc0p01.cpp. Referenced by main(). |
|
Definition at line 48 of file rsAnalc0p01.cpp. Referenced by main(), and XANAMcInfoTester::upDate(). |
|
Definition at line 50 of file rsAnalc0p01.cpp. Referenced by main(). |
|
Definition at line 53 of file rsAnalc0p01.cpp. Referenced by main(). |
|
Definition at line 58 of file rsAnalc0p01.cpp. Referenced by main(), and XANAEsdBuilder::XANAEsdBuilder(). |
|
Definition at line 47 of file rsAnalc0p01.cpp. Referenced by main(). |
|
Definition at line 52 of file rsAnalc0p01.cpp. Referenced by main(). |
|
Definition at line 51 of file rsAnalc0p01.cpp. Referenced by main(), XANAEsdBuilder::setSuperClusters(), and XANAEsdBuilder::XANAEsdBuilder(). |
|
Definition at line 54 of file rsAnalc0p01.cpp. Referenced by getDaughterVertex(), main(), XANAEsdBuilder::setElectronTracks(), TrackObserver::upDate(), and XANAEsdBuilder::XANAEsdBuilder(). |
|
Definition at line 55 of file rsAnalc0p01.cpp. Referenced by main(), VertexObserver::upDate(), and XANAEsdBuilder::XANAEsdBuilder(). |