#include <Alignment/OfflineValidation/src/ValidationMisalignedTracker.cc>
Implementation: <Notes on="" implementation>="">
Definition at line 33 of file ValidationMisalignedTracker.h.
ValidationMisalignedTracker::ValidationMisalignedTracker | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 45 of file ValidationMisalignedTracker.cc.
References associators, cottheta, count, countpart, countpartrec, countrec, d0, eff, ene, enezmu, eta, etazmu, eventCount_, fake, fakecottheta, faked0, fakeenezmu, fakeeta, fakeetazmu, fakeminptmu, fakemxptmu, fakemzmu, fakenAssoc, fakenhit, fakephi, fakephizmu, fakepLzmu, fakept, fakeptzmu, fakerecchiq, fakereccottheta, fakerecd0, fakerecenezmu, fakereceta, fakerecetazmu, fakerecminptmu, fakerecmxptmu, fakerecmzmu, fakerecnhit, fakerecphi, fakerecphizmu, fakerecpLzmu, fakerecpt, fakerecptzmu, fakerecthetazmu, fakerecyzmu, fakerecz0, fakerescottheta, fakeresd0, fakereseta, fakeresphi, fakerespt, fakeresz0, fakethetazmu, faketrackType, fakeyzmu, fakez0, file_, flag, flagrec, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, ievt, irun, j, label, label_tp_effic, label_tp_fake, minptmu, mxptmu, mzmu, nAssoc, nhit, p, phi, phizmu, pLzmu, pt, ptmu, ptzmu, px, py, pz, recchiq, reccottheta, recd0, recene, recenezmu, receta, recetazmu, recminptmu, recmxptmu, recmzmu, recnhit, recp, recphi, recphizmu, recpLzmu, recpt, recptmu, recptzmu, recpx, recpy, recpz, recthetazmu, recyzmu, recz0, rescottheta, resd0, reseta, resphi, respt, resz0, rootfile_, selection_eff, selection_fake, simobject, thetazmu, trackassociator, trackType, tree_eff, tree_fake, yzmu, z0, and ZmassSelection_.
00046 { 00047 00048 //now do what ever initialization is needed 00049 mzmu=0.,recmzmu=0.,ptzmu=0.,recptzmu=0.,etazmu=0.,recetazmu=0., thetazmu=0.,recthetazmu=0.,phizmu=0.,recphizmu=0.; 00050 recenezmu=0., enezmu=0., pLzmu=0., recpLzmu=0.,yzmu=0.,recyzmu=0.,mxptmu=0.,recmxptmu=0., minptmu=0.,recminptmu=0.; 00051 // mzele=0.,recmzele=0. 00052 00053 flag=0,flagrec=0,count=0,countrec=0; 00054 nAssoc=0; 00055 00056 for (int i=0;i<2;i++){ 00057 countpart[i]=0; 00058 countpartrec[i]=0; 00059 for (int j=0;j<2;j++){ 00060 ene[i][j]=0.; 00061 p[i][j]=0.; 00062 px[i][j]=0.; 00063 py[i][j]=0.; 00064 pz[i][j]=0.; 00065 ptmu[i][j]=0.; 00066 recene[i][j]=0.; 00067 recp[i][j]=0.; 00068 recpx[i][j]=0.; 00069 recpy[i][j]=0.; 00070 recpz[i][j]=0.; 00071 recptmu[i][j]=0.; 00072 } 00073 } 00074 00075 00076 eventCount_ = 0; 00077 00078 selection_eff = iConfig.getUntrackedParameter<bool>("selection_eff","false"); 00079 selection_fake = iConfig.getUntrackedParameter<bool>("selection_fake","true"); 00080 ZmassSelection_ = iConfig.getUntrackedParameter<bool>("ZmassSelection","false"); 00081 simobject = iConfig.getUntrackedParameter<string>("simobject","g4SimHits"); 00082 trackassociator = iConfig.getUntrackedParameter<string>("TrackAssociator","ByHits"); 00083 associators = iConfig.getParameter< std::vector<std::string> >("associators"); 00084 label = iConfig.getParameter< std::vector<edm::InputTag> >("label"); 00085 label_tp_effic = iConfig.getParameter< edm::InputTag >("label_tp_effic"); 00086 label_tp_fake = iConfig.getParameter< edm::InputTag >("label_tp_fake"); 00087 00088 rootfile_ = iConfig.getUntrackedParameter<string>("rootfile","myroot.root"); 00089 file_ = new TFile(rootfile_.c_str(),"RECREATE"); 00090 00091 // initialize the tree 00092 tree_eff = new TTree("EffTracks","Efficiency Tracks Tree"); 00093 00094 tree_eff->Branch("Run",&irun,"irun/i"); 00095 tree_eff->Branch("Event",&ievt,"ievt/i"); 00096 00097 // SimTrack 00098 tree_eff->Branch("TrackID",&trackType,"trackType/i"); 00099 tree_eff->Branch("pt",&pt,"pt/F"); 00100 tree_eff->Branch("eta",&eta,"eta/F"); 00101 tree_eff->Branch("CotTheta",&cottheta,"cottheta/F"); 00102 tree_eff->Branch("phi",&phi,"phi/F"); 00103 tree_eff->Branch("d0",&d0,"d0/F"); 00104 tree_eff->Branch("z0",&z0,"z0/F"); 00105 tree_eff->Branch("nhit",&nhit,"nhit/i"); 00106 00107 // RecTrack 00108 tree_eff->Branch("recpt",&recpt,"recpt/F"); 00109 tree_eff->Branch("receta",&receta,"receta/F"); 00110 tree_eff->Branch("CotRecTheta",&reccottheta,"reccottheta/F"); 00111 tree_eff->Branch("recphi",&recphi,"recphi/F"); 00112 tree_eff->Branch("recd0",& recd0,"recd0/F"); 00113 tree_eff->Branch("recz0",& recz0,"recz0/F"); 00114 tree_eff->Branch("nAssoc",&nAssoc,"nAssoc/i"); 00115 tree_eff->Branch("recnhit",&recnhit,"recnhit/i"); 00116 tree_eff->Branch("CHISQ",&recchiq,"recchiq/F"); 00117 00118 tree_eff->Branch("reseta",&reseta,"reseta/F"); 00119 tree_eff->Branch("respt",&respt,"respt/F"); 00120 tree_eff->Branch("resd0",&resd0,"resd0/F"); 00121 tree_eff->Branch("resz0",&resz0,"resz0/F"); 00122 tree_eff->Branch("resphi",&resphi,"resphi/F"); 00123 tree_eff->Branch("rescottheta",&rescottheta,"rescottheta/F"); 00124 tree_eff->Branch("eff",&eff,"eff/F"); 00125 00126 // Invariant masses, pt of Z 00127 tree_eff->Branch("mzmu",&mzmu,"mzmu/F"); 00128 tree_eff->Branch("ptzmu",&ptzmu,"ptzmu/F"); 00129 tree_eff->Branch("pLzmu",&pLzmu,"pLzmu/F"); 00130 tree_eff->Branch("enezmu",&enezmu,"enezmu/F"); 00131 tree_eff->Branch("etazmu",&etazmu,"etazmu/F"); 00132 tree_eff->Branch("thetazmu",&thetazmu,"thetazmu/F"); 00133 tree_eff->Branch("phizmu",&phizmu,"phizmu/F"); 00134 tree_eff->Branch("yzmu",&yzmu,"yzmu/F"); 00135 tree_eff->Branch("mxptmu",&mxptmu,"mxptmu/F"); 00136 tree_eff->Branch("minptmu",&minptmu,"minptmu/F"); 00137 00138 tree_eff->Branch("recmzmu",&recmzmu,"recmzmu/F"); 00139 tree_eff->Branch("recptzmu",&recptzmu,"recptzmu/F"); 00140 tree_eff->Branch("recpLzmu",&recpLzmu,"recpLzmu/F"); 00141 tree_eff->Branch("recenezmu",&recenezmu,"recenezmu/F"); 00142 tree_eff->Branch("recetazmu",&recetazmu,"recetazmu/F"); 00143 tree_eff->Branch("recthetazmu",&recthetazmu,"recthetazmu/F"); 00144 tree_eff->Branch("recphizmu",&recphizmu,"recphizmu/F"); 00145 tree_eff->Branch("recyzmu",&recyzmu,"recyzmu/F"); 00146 tree_eff->Branch("recmxptmu",&recmxptmu,"recmxptmu/F"); 00147 tree_eff->Branch("recminptmu",&recminptmu,"recminptmu/F"); 00148 00149 00150 //tree->Branch("mzele",&ntmzele,"ntmzele/F"); 00151 //tree->Branch("recmzele",&ntmzeleRec,"ntmzeleRec/F"); 00152 tree_eff->Branch("chi2Associator",&recchiq,"recchiq/F"); 00153 00154 // Fake 00155 00156 tree_fake = new TTree("FakeTracks","Fake Rate Tracks Tree"); 00157 00158 tree_fake->Branch("Run",&irun,"irun/i"); 00159 tree_fake->Branch("Event",&ievt,"ievt/i"); 00160 00161 // SimTrack 00162 tree_fake->Branch("fakeTrackID",&faketrackType,"faketrackType/i"); 00163 tree_fake->Branch("fakept",&fakept,"fakept/F"); 00164 tree_fake->Branch("fakeeta",&fakeeta,"fakeeta/F"); 00165 tree_fake->Branch("fakeCotTheta",&fakecottheta,"fakecottheta/F"); 00166 tree_fake->Branch("fakephi",&fakephi,"fakephi/F"); 00167 tree_fake->Branch("faked0",&faked0,"faked0/F"); 00168 tree_fake->Branch("fakez0",&fakez0,"fakez0/F"); 00169 tree_fake->Branch("fakenhit",&fakenhit,"fakenhit/i"); 00170 00171 // RecTrack 00172 tree_fake->Branch("fakerecpt",&fakerecpt,"fakerecpt/F"); 00173 tree_fake->Branch("fakereceta",&fakereceta,"fakereceta/F"); 00174 tree_fake->Branch("fakeCotRecTheta",&fakereccottheta,"fakereccottheta/F"); 00175 tree_fake->Branch("fakerecphi",&fakerecphi,"fakerecphi/F"); 00176 tree_fake->Branch("fakerecd0",& fakerecd0,"fakerecd0/F"); 00177 tree_fake->Branch("fakerecz0",& fakerecz0,"fakerecz0/F"); 00178 tree_fake->Branch("fakenAssoc",&fakenAssoc,"fakenAssoc/i"); 00179 tree_fake->Branch("fakerecnhit",&fakerecnhit,"fakerecnhit/i"); 00180 tree_fake->Branch("fakeCHISQ",&fakerecchiq,"fakerecchiq/F"); 00181 00182 tree_fake->Branch("fakereseta",&fakereseta,"fakereseta/F"); 00183 tree_fake->Branch("fakerespt",&fakerespt,"fakerespt/F"); 00184 tree_fake->Branch("fakeresd0",&fakeresd0,"fakeresd0/F"); 00185 tree_fake->Branch("fakeresz0",&fakeresz0,"fakeresz0/F"); 00186 tree_fake->Branch("fakeresphi",&fakeresphi,"fakeresphi/F"); 00187 tree_fake->Branch("fakerescottheta",&fakerescottheta,"fakerescottheta/F"); 00188 tree_fake->Branch("fake",&fake,"fake/F"); 00189 00190 // Invariant masses, pt of Z 00191 tree_fake->Branch("fakemzmu",&fakemzmu,"fakemzmu/F"); 00192 tree_fake->Branch("fakeptzmu",&fakeptzmu,"fakeptzmu/F"); 00193 tree_fake->Branch("fakepLzmu",&fakepLzmu,"fakepLzmu/F"); 00194 tree_fake->Branch("fakeenezmu",&fakeenezmu,"fakeenezmu/F"); 00195 tree_fake->Branch("fakeetazmu",&fakeetazmu,"fakeetazmu/F"); 00196 tree_fake->Branch("fakethetazmu",&fakethetazmu,"fakethetazmu/F"); 00197 tree_fake->Branch("fakephizmu",&fakephizmu,"fakephizmu/F"); 00198 tree_fake->Branch("fakeyzmu",&fakeyzmu,"fakeyzmu/F"); 00199 tree_fake->Branch("fakemxptmu",&fakemxptmu,"fakemxptmu/F"); 00200 tree_fake->Branch("fakeminptmu",&fakeminptmu,"fakeminptmu/F"); 00201 00202 tree_fake->Branch("fakerecmzmu",&fakerecmzmu,"fakerecmzmu/F"); 00203 tree_fake->Branch("fakerecptzmu",&fakerecptzmu,"fakerecptzmu/F"); 00204 tree_fake->Branch("fakerecpLzmu",&fakerecpLzmu,"fakerecpLzmu/F"); 00205 tree_fake->Branch("fakerecenezmu",&fakerecenezmu,"fakerecenezmu/F"); 00206 tree_fake->Branch("fakerecetazmu",&fakerecetazmu,"fakerecetazmu/F"); 00207 tree_fake->Branch("fakerecthetazmu",&fakerecthetazmu,"fakerecthetazmu/F"); 00208 tree_fake->Branch("fakerecphizmu",&fakerecphizmu,"fakerecphizmu/F"); 00209 tree_fake->Branch("fakerecyzmu",&fakerecyzmu,"fakerecyzmu/F"); 00210 tree_fake->Branch("fakerecmxptmu",&fakerecmxptmu,"fakerecmxptmu/F"); 00211 tree_fake->Branch("fakerecminptmu",&fakerecminptmu,"fakerecminptmu/F"); 00212 00213 tree_fake->Branch("fakechi2Associator",&fakerecchiq,"fakerecchiq/F"); 00214 00215 }
ValidationMisalignedTracker::~ValidationMisalignedTracker | ( | ) |
Definition at line 218 of file ValidationMisalignedTracker.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), eventCount_, file_, tree_eff, and tree_fake.
00219 { 00220 00221 00222 std::cout << "ValidationMisalignedTracker::endJob Processed " << eventCount_ 00223 << " events" << std::endl; 00224 00225 // store the tree in the output file 00226 file_->Write(); 00227 00228 00229 // Closing the file deletes the tree. 00230 file_->Close(); 00231 tree_eff=0; 00232 tree_fake=0; 00233 }
void ValidationMisalignedTracker::analyze | ( | const edm::Event & | iEvent, | |
const edm::EventSetup & | iSetup | |||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 256 of file ValidationMisalignedTracker.cc.
References funct::abs(), associatore, associators, funct::cos(), costheta, cottheta, count, countpart, countpartrec, countrec, GenMuonPlsPt100GeV_cfg::cout, d0, eff, edm::AssociationMap< Tag >::end(), lat::endl(), ene, enezmu, eta, etazmu, edm::EventID::event(), fake, fakecostheta, fakecottheta, faked0, fakeeta, fakenhit, fakephi, fakept, fakerecchiq, fakereccottheta, fakerecd0, fakereceta, fakerecnhit, fakerecphi, fakerecpt, fakerectheta, fakerecz0, fakerescottheta, fakeresd0, fakereseta, fakeresphi, fakerespt, fakeresz0, faketheta, faketrackType, fakez0, edm::AssociationMap< Tag >::find(), flag, flagrec, SimTrack::genpartIndex(), edm::EventSetup::get(), edm::Event::getByLabel(), i, edm::Event::id(), ievt, irun, j, label, label_tp_effic, label_tp_fake, funct::log(), LogTrace, PV3DBase< T, PVType, FrameType >::mag(), max, min, minptmu, CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), mxptmu, mzmu, nhit, p, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), phizmu, pLzmu, GeomDet::position(), FreeTrajectoryState::position(), edm::ESHandle< T >::product(), edm::Handle< T >::product(), pt, ptmu, ptused, ptzmu, px, py, pz, recchiq, reccottheta, recd0, recene, recenezmu, receta, recetazmu, recminptmu, recmxptmu, recmzmu, recnhit, recp, recphi, recphizmu, recpLzmu, recpt, recptmu, recptzmu, recpx, recpy, recpz, rectheta, recthetazmu, recyzmu, recz0, rescottheta, resd0, reseta, resphi, respt, resz0, edm::EventID::run(), selection_eff, selection_fake, funct::sin(), edm::View< T >::size(), skip, funct::sqrt(), st, t, funct::tan(), theMF, TrajectoryStateClosestToPoint::theState(), theta, thetazmu, tp, tpr, track, trackType, tree_eff, tree_fake, CoreSimTrack::type(), v, w, ww, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), yzmu, PV3DBase< T, PVType, FrameType >::z(), z0, and ZmassSelection_.
00257 { 00258 using namespace edm; 00259 00260 edm::LogInfo("Tracker Misalignment Validation") << "\n Starting!"; 00261 00262 // Monte Carlo Z selection 00263 skip=false; 00264 vector<int> indmu; 00265 00266 if ( selection_eff && ZmassSelection_){ 00267 Handle<HepMCProduct> evt; 00268 iEvent.getByLabel("source", evt); 00269 bool accepted = false; 00270 bool skip=false; 00271 bool foundmuons=false; 00272 HepMC::GenEvent * myGenEvent = new HepMC::GenEvent(*(evt->GetEvent())); 00273 00274 for ( HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end(); ++p ) { 00275 if ( !accepted && ( (*p)->pdg_id() == 23 ) && (*p)->status() == 3 ) { 00276 accepted=true; 00277 for( HepMC::GenVertex::particle_iterator aDaughter=(*p)->end_vertex()->particles_begin(HepMC::descendants); aDaughter !=(*p)->end_vertex()->particles_end(HepMC::descendants);aDaughter++){ 00278 if ( abs((*aDaughter)->pdg_id())==13) { 00279 foundmuons=true; 00280 if ((*aDaughter)->status()!=1 ) { 00281 for( HepMC::GenVertex::particle_iterator byaDaughter=(*aDaughter)->end_vertex()->particles_begin(HepMC::descendants); byaDaughter !=(*aDaughter)->end_vertex()->particles_end(HepMC::descendants);byaDaughter++){ 00282 if ((*byaDaughter)->status()==1 && abs((*byaDaughter)->pdg_id())==13) { 00283 indmu.push_back((*byaDaughter)->barcode()); 00284 cout << "Stable muon from Z with charge " << (*byaDaughter)->pdg_id() << " and index "<< (*byaDaughter)->barcode() << endl; 00285 } 00286 } 00287 } 00288 else { 00289 indmu.push_back((*aDaughter)->barcode()); 00290 cout << "Stable muon from Z with charge " << (*aDaughter)->pdg_id() << " and index "<< (*aDaughter)->barcode() << endl; 00291 } 00292 } 00293 } 00294 if (!foundmuons){ 00295 cout << "No muons from Z ...skip event" << endl; 00296 skip=true; 00297 } 00298 } 00299 } 00300 if ( !accepted) { 00301 cout << "No Z particles in the event ...skip event" << endl; 00302 skip=true; 00303 } 00304 } 00305 else { 00306 skip=false; 00307 } 00308 00309 // 00310 // Retrieve tracker geometry from event setup 00311 // 00312 edm::ESHandle<TrackerGeometry> trackerGeometry; 00313 iSetup.get<TrackerDigiGeometryRecord>().get( trackerGeometry ); 00314 GeomDet* testGeomDet = trackerGeometry->detsTOB().front(); 00315 std::cout << testGeomDet->position() << std::endl; 00316 00317 00318 //Dump Run and Event 00319 irun=iEvent.id().run(); 00320 ievt=iEvent.id().event(); 00321 00322 // Reset tree variables 00323 int countpart[2]={0,0},countpartrec[2]={0,0},flag=0,flagrec=0,count=0,countrec=0; 00324 //int countsim=0; 00325 float ene[2][2],p[2][2],px[2][2],py[2][2],pz[2][2],ptmu[2][2]; 00326 float recene[2][2],recp[2][2],recpx[2][2],recpy[2][2],recpz[2][2],recptmu[2][2]; 00327 00328 for (int i=0;i<2;i++){ 00329 for (int j=0;j<2;j++){ 00330 ene[i][j]=0.; 00331 p[i][j]=0.; 00332 px[i][j]=0.; 00333 py[i][j]=0.; 00334 pz[i][j]=0.; 00335 ptmu[i][j]=0.; 00336 recene[i][j]=0.; 00337 recp[i][j]=0.; 00338 recpx[i][j]=0.; 00339 recpy[i][j]=0.; 00340 recpz[i][j]=0.; 00341 recptmu[i][j]=0.; 00342 } 00343 } 00344 00345 00346 edm::Handle<TrackingParticleCollection> TPCollectionHeff ; 00347 iEvent.getByLabel(label_tp_effic,TPCollectionHeff); 00348 const TrackingParticleCollection tPCeff = *(TPCollectionHeff.product()); 00349 00350 edm::Handle<TrackingParticleCollection> TPCollectionHfake ; 00351 iEvent.getByLabel(label_tp_fake,TPCollectionHfake); 00352 const TrackingParticleCollection tPCfake = *(TPCollectionHfake.product()); 00353 00354 00355 int w=0; 00356 for (unsigned int ww=0;ww<associators.size();ww++){ 00357 // 00358 //get collections from the event 00359 // 00360 00361 InputTag algo = label[0]; 00362 00363 edm::Handle<edm::View<reco::Track> > trackCollection; 00364 iEvent.getByLabel(algo, trackCollection); 00365 const edm::View<reco::Track> tC = *(trackCollection.product()); 00366 00367 00368 //associate tracks 00369 LogTrace("TrackValidator") << "Calling associateRecoToSim method" << "\n"; 00370 reco::RecoToSimCollection recSimColl=associatore[ww]->associateRecoToSim(trackCollection, 00371 TPCollectionHfake, 00372 &iEvent); 00373 00374 LogTrace("TrackValidator") << "Calling associateSimToReco method" << "\n"; 00375 reco::SimToRecoCollection simRecColl=associatore[ww]->associateSimToReco(trackCollection, 00376 TPCollectionHeff, 00377 &iEvent); 00378 00379 00380 00381 // 00382 //compute number of tracks per eta interval 00383 // 00384 00385 if (selection_eff && !skip ) { 00386 cout << "Computing Efficiency" << endl; 00387 00388 edm::LogVerbatim("TrackValidator") << "\n# of TrackingParticles (before cuts): " << tPCeff.size() << "\n"; 00389 int ats = 0; 00390 int st=0; 00391 for (TrackingParticleCollection::size_type i=0; i<tPCeff.size(); i++){ 00392 00393 // Initialize variables 00394 eta = 0.,theta=0.,phi=0.,pt=0.,cottheta=0.,costheta=0.; 00395 d0=0.,z0=0.; 00396 nhit=0; 00397 receta = 0.,rectheta = 0.,recphi = 0.,recpt = 0.,reccottheta=0.,recd0=0.,recz0=0.; 00398 respt = 0.,resd0 = 0.,resz0 = 0.,reseta = 0.,resphi=0.,rescottheta=0.; 00399 recchiq = 0.; 00400 recnhit = 0; 00401 trackType = 0; 00402 eff=0; 00403 00404 // typedef edm::Ref<TrackingParticleCollection> TrackingParticleRef; 00405 TrackingParticleRef tp(TPCollectionHeff, i); 00406 if (tp->charge()==0) continue; 00407 st++; 00408 //pt=sqrt(tp->momentum().perp2()); 00409 //eta=tp->momentum().eta(); 00410 //vpos=tp->vertex().perp2())); 00411 00412 const SimTrack * simulatedTrack = &(*tp->g4Track_begin()); 00413 00414 edm::ESHandle<MagneticField> theMF; 00415 iSetup.get<IdealMagneticFieldRecord>().get(theMF); 00416 FreeTrajectoryState 00417 ftsAtProduction(GlobalPoint(tp->vertex().x(),tp->vertex().y(),tp->vertex().z()), 00418 GlobalVector(simulatedTrack->momentum().x(),simulatedTrack->momentum().y(),simulatedTrack->momentum().z()), 00419 TrackCharge(tp->charge()), 00420 theMF.product()); 00421 TSCPBuilderNoMaterial tscpBuilder; 00422 TrajectoryStateClosestToPoint tsAtClosestApproach 00423 = tscpBuilder(ftsAtProduction,GlobalPoint(0,0,0));//as in TrackProducerAlgorithm 00424 GlobalPoint v = tsAtClosestApproach.theState().position(); 00425 GlobalVector p = tsAtClosestApproach.theState().momentum(); 00426 00427 // double qoverpSim = tsAtClosestApproach.charge()/p.mag(); 00428 // double lambdaSim = M_PI/2-p.theta(); 00429 // double phiSim = p.phi(); 00430 double dxySim = (-v.x()*sin(p.phi())+v.y()*cos(p.phi())); 00431 double dszSim = v.z()*p.perp()/p.mag() - (v.x()*p.x()+v.y()*p.y())/p.perp() * p.z()/p.mag(); 00432 d0 = float(-dxySim); 00433 z0 = float(dszSim*p.mag()/p.perp()); 00434 00435 00436 if (abs(simulatedTrack->type())==13 && simulatedTrack->genpartIndex() != -1 ) { 00437 cout << " TRACCIA SIM DI MUONI " << endl; 00438 cout << "Gen part " << simulatedTrack->genpartIndex()<< endl; 00439 trackType=simulatedTrack->type(); 00440 theta=simulatedTrack->momentum().theta(); 00441 costheta=cos(theta); 00442 cottheta=1./tan(theta); 00443 00444 eta=simulatedTrack->momentum().eta(); 00445 phi=simulatedTrack->momentum().phi(); 00446 pt=simulatedTrack->momentum().pt(); 00447 nhit=tp->matchedHit(); 00448 00449 00450 cout << "3) Before assoc: SimTrack of type = " << simulatedTrack->type() 00451 << " ,at eta = " << eta 00452 << " ,with pt at vertex = " << simulatedTrack->momentum().pt() << " GeV/c" 00453 << " ,d0 =" << d0 00454 << " ,z0 =" << z0 00455 << " ,nhit=" << nhit 00456 << endl; 00457 00458 if ( ZmassSelection_ ){ 00459 if (abs(trackType)==13 && (simulatedTrack->genpartIndex()==indmu[0] || simulatedTrack->genpartIndex()==indmu[1] )) { 00460 cout << " TRACK sim of muons from Z " << endl; 00461 flag=0; 00462 count=countpart[0]; 00463 countpart[0]++; 00464 } 00465 else if (abs(trackType)==11) { 00466 //cout << " TRACCIA SIM DI ELETTRONI " << endl; 00467 flag=1; 00468 count=countpart[1]; 00469 countpart[1]++; 00470 } 00471 00472 00473 px[flag][count]=simulatedTrack->momentum().x(); 00474 py[flag][count]=simulatedTrack->momentum().y(); 00475 pz[flag][count]=simulatedTrack->momentum().z(); 00476 ptmu[flag][count]=simulatedTrack->momentum().pt(); 00477 ene[flag][count]=simulatedTrack->momentum().e(); 00478 } 00479 00480 00481 std::vector<std::pair<edm::RefToBase<reco::Track>, double> > rt; 00482 if(simRecColl.find(tp) != simRecColl.end()){ 00483 00484 rt = simRecColl[tp]; 00485 if (rt.size()!=0) { 00486 00487 edm::RefToBase<reco::Track> t = rt.begin()->first; 00488 ats++; 00489 00490 bool flagptused=false; 00491 for (unsigned int j=0;j<ptused.size();j++){ 00492 if (abs(t->pt()-ptused[j])<0.001) { 00493 flagptused=true; 00494 } 00495 } 00496 00497 edm::LogVerbatim("TrackValidator") << "TrackingParticle #" << st << " with pt=" << t->pt() 00498 << " associated with quality:" << rt.begin()->second <<"\n"; 00499 std::cout << "Reconstructed Track:" << t->pt()<< endl; 00500 std::cout << "\tpT: " << t->pt()<< endl; 00501 std::cout << "\timpact parameter:d0: " << t->d0()<< endl; 00502 std::cout << "\timpact parameter:z0: " << t->dz()<< endl; 00503 std::cout << "\tAzimuthal angle of point of closest approach:" << t->phi()<< endl; 00504 std::cout << "\tcharge: " << t->charge()<< endl; 00505 std::cout << "\teta: " << t->eta()<< endl; 00506 std::cout << "\tnormalizedChi2: " << t->normalizedChi2()<< endl; 00507 00508 recnhit=t->numberOfValidHits(); 00509 recchiq=t->normalizedChi2(); 00510 rectheta=t->theta(); 00511 reccottheta=1./tan(rectheta); 00512 //receta=-log(tan(rectheta/2.)); 00513 receta=t->momentum().eta(); 00514 // reccostheta=cos(matchedrectrack->momentum().theta()); 00515 recphi=t->phi(); 00516 recpt=t->pt(); 00517 ptused.push_back(recpt); 00518 recd0=t->d0(); 00519 recz0=t->dz(); 00520 00521 cout << "5) After call to associator: the best match has " 00522 << recnhit << " hits, Chi2 = " 00523 << recchiq << ", pt at vertex = " 00524 << recpt << " GeV/c, " 00525 << ", recd0 = " << recd0 00526 << ", recz0= " << recz0 00527 << endl; 00528 00529 00530 respt=recpt - pt; 00531 resd0=recd0-d0; 00532 resz0=recz0-z0; 00533 reseta=receta-eta; 00534 resphi=recphi-phi; 00535 rescottheta=reccottheta-cottheta; 00536 eff=1; 00537 00538 cout << "6) Transverse momentum residual=" << respt 00539 << " ,d0 residual=" << resd0 00540 << " ,z0 residual=" << resz0 00541 << " with eff=" << eff << endl; 00542 00543 if ( ZmassSelection_ ){ 00544 00545 if (abs(trackType)==13) { 00546 cout << " TRACCIA RECO DI MUONI " << endl; 00547 flagrec=0; 00548 countrec=countpartrec[0]; 00549 countpartrec[0]++; 00550 } 00551 else if (abs(trackType)==11) { 00552 cout << " TRACCIA RECO DI ELETTRONI " << endl; 00553 flagrec=1; 00554 countrec=countpartrec[1]; 00555 countpartrec[1]++; 00556 } 00557 00558 recp[flagrec][countrec]=sqrt(t->momentum().mag2()); 00559 recpx[flagrec][countrec]=t->momentum().x(); 00560 recpy[flagrec][countrec]=t->momentum().y(); 00561 recpz[flagrec][countrec]=t->momentum().z(); 00562 recptmu[flagrec][countrec]=sqrt( (t->momentum().x()*t->momentum().x()) + (t->momentum().y()*t->momentum().y()) ); 00563 if (abs(trackType)==13) recene[flagrec][countrec]=sqrt(recp[flagrec][countrec]*recp[flagrec][countrec]+0.105*0.105); 00564 if (abs(trackType)==11) recene[flagrec][countrec]=sqrt(recp[flagrec][countrec]*recp[flagrec][countrec]+0.0005*0.0005); 00565 } 00566 00567 cout << "7) Transverse momentum reconstructed =" << recpt 00568 << " at eta= " << receta 00569 << " and phi= " << recphi 00570 << endl; 00571 00572 } 00573 } 00574 else{ 00575 edm::LogVerbatim("TrackValidator") << "TrackingParticle #" << st 00576 << " with pt=" << sqrt(tp->momentum().perp2()) 00577 << " NOT associated to any reco::Track" << "\n"; 00578 receta =-100.; 00579 recphi =-100.; 00580 recpt =-100.; 00581 recd0 =-100.; 00582 recz0 =-100; 00583 respt =-100.; 00584 resd0 =-100.; 00585 resz0 =-100.; 00586 resphi =-100.; 00587 reseta =-100.; 00588 rescottheta=-100.; 00589 recnhit=100; 00590 recchiq=-100; 00591 eff=0; 00592 flagrec=100; 00593 } 00594 00595 cout << "Eff=" << eff << endl; 00596 00597 // simulated muons 00598 00599 cout <<"Flag is" << flag << endl; 00600 cout <<"RecFlag is" << flagrec << endl; 00601 00602 if (countpart[0]==2 && flag==0) { 00603 mzmu=sqrt( 00604 (ene[0][0]+ene[0][1])*(ene[0][0]+ene[0][1])- 00605 (px[0][0]+px[0][1])*(px[0][0]+px[0][1])- 00606 (py[0][0]+py[0][1])*(py[0][0]+py[0][1])- 00607 (pz[0][0]+pz[0][1])*(pz[0][0]+pz[0][1]) 00608 ); 00609 cout << "Mzmu " << mzmu << endl; 00610 ptzmu=sqrt( 00611 (px[0][0]+px[0][1])*(px[0][0]+px[0][1])+ 00612 (py[0][0]+py[0][1])*(py[0][0]+py[0][1]) 00613 ); 00614 00615 pLzmu=pz[0][0]+pz[0][1]; 00616 enezmu=ene[0][0]+ene[0][1]; 00617 phizmu=atan2((py[0][0]+py[0][1]),(px[0][0]+px[0][1])); 00618 thetazmu=atan2(ptzmu,(pz[0][0]+pz[0][1])); 00619 etazmu=-log(tan(thetazmu*3.14/360.)); 00620 yzmu=0.5*log((enezmu+pLzmu)/(enezmu-pLzmu)); 00621 mxptmu=max( ptmu[0][0], ptmu[0][1]); 00622 minptmu=min( ptmu[0][0], ptmu[0][1]); 00623 } 00624 else { 00625 mzmu=-100.; 00626 ptzmu=-100.; 00627 pLzmu=-100.; 00628 enezmu=-100.; 00629 etazmu=-100.; 00630 phizmu=-100.; 00631 thetazmu=-100.; 00632 yzmu=-100.; 00633 mxptmu=-100.; 00634 minptmu=-100.; 00635 } 00636 00637 // reconstructed muons 00638 if (countpartrec[0]==2 && flagrec==0 ){ 00639 recmzmu=sqrt( 00640 (recene[0][0]+recene[0][1])*(recene[0][0]+recene[0][1])- 00641 (recpx[0][0]+recpx[0][1])*(recpx[0][0]+recpx[0][1])- 00642 (recpy[0][0]+recpy[0][1])*(recpy[0][0]+recpy[0][1])- 00643 (recpz[0][0]+recpz[0][1])*(recpz[0][0]+recpz[0][1]) 00644 ); 00645 cout << "RecMzmu " << recmzmu << endl; 00646 recptzmu=sqrt( 00647 (recpx[0][0]+recpx[0][1])*(recpx[0][0]+recpx[0][1])+ 00648 (recpy[0][0]+recpy[0][1])*(recpy[0][0]+recpy[0][1]) 00649 ); 00650 00651 recpLzmu=recpz[0][0]+recpz[0][1]; 00652 recenezmu=recene[0][0]+recene[0][1]; 00653 recphizmu=atan2((recpy[0][0]+recpy[0][1]),(recpx[0][0]+recpx[0][1])); 00654 recthetazmu=atan2(recptzmu,(recpz[0][0]+recpz[0][1])); 00655 recetazmu=-log(tan(recthetazmu*3.14/360.)); 00656 recyzmu=0.5*log((recenezmu+recpLzmu)/(recenezmu-recpLzmu)); 00657 recmxptmu=max(recptmu[0][0], recptmu[0][1]); 00658 recminptmu=min( recptmu[0][0], recptmu[0][1]); 00659 } 00660 else { 00661 recmzmu=-100.; 00662 recptzmu=-100.; 00663 recpLzmu=-100.; 00664 recenezmu=-100.; 00665 recetazmu=-100.; 00666 recphizmu=-100.; 00667 recthetazmu=-100.; 00668 recyzmu=-100.; 00669 recmxptmu=-100; 00670 recminptmu=-100.; 00671 } 00672 00673 tree_eff->Fill(); 00674 00675 } // end of loop on muons 00676 } // end of loop for tracking particle 00677 } // end of loop for efficiency 00678 00679 // 00680 // Fake Rate 00681 // 00682 if (selection_fake ) { 00683 cout << "Computing Fake Rate" << endl; 00684 00685 fakeeta = 0.,faketheta=0.,fakephi=0.,fakept=0.,fakecottheta=0.,fakecostheta=0.; 00686 faked0=0.,fakez0=0.; 00687 fakenhit=0; 00688 fakereceta = 0.,fakerectheta = 0.,fakerecphi = 0.,fakerecpt = 0.,fakereccottheta=0.,fakerecd0=0.,fakerecz0=0.; 00689 fakerespt = 0.,fakeresd0 = 0.,fakeresz0 = 0.,fakereseta = 0.,fakeresphi=0.,fakerescottheta=0.; 00690 fakerecchiq = 0.; 00691 fakerecnhit = 0; 00692 faketrackType = 0; 00693 fake=0; 00694 00695 00696 // int at=0; 00697 int rT=0; 00698 for(reco::TrackCollection::size_type i=0; i<tC.size(); ++i){ 00699 edm::RefToBase<reco::Track> track(trackCollection, i); 00700 rT++; 00701 00702 fakeeta = 0.,faketheta=0.,fakephi=0.,fakept=0.,fakecottheta=0.,fakecostheta=0.; 00703 faked0=0.,fakez0=0.; 00704 fakenhit=0; 00705 fakereceta = 0.,fakerectheta = 0.,fakerecphi = 0.,fakerecpt = 0.,fakereccottheta=0.,fakerecd0=0.,fakerecz0=0.; 00706 fakerespt = 0.,fakeresd0 = 0.,fakeresz0 = 0.,fakereseta = 0.,fakeresphi=0.,fakerescottheta=0.; 00707 fakerecchiq = 0.; 00708 fakerecnhit = 0; 00709 faketrackType = 0; 00710 fake=0; 00711 00712 fakerecnhit=track->numberOfValidHits(); 00713 fakerecchiq=track->normalizedChi2(); 00714 fakerectheta=track->theta(); 00715 fakereccottheta=1./tan(rectheta); 00716 //fakereceta=-log(tan(rectheta/2.)); 00717 fakereceta=track->momentum().eta(); 00718 // fakereccostheta=cos(track->momentum().theta()); 00719 fakerecphi=track->phi(); 00720 fakerecpt=track->pt(); 00721 fakerecd0=track->d0(); 00722 fakerecz0=track->dz(); 00723 00724 cout << "1) Before assoc: TkRecTrack at eta = " << fakereceta << std::endl; 00725 std::cout << "Track number "<< i << std::endl ; 00726 std::cout << "\tPT: " << track->pt()<< std::endl; 00727 std::cout << "\timpact parameter:d0: " << track->d0()<< std::endl; 00728 std::cout << "\timpact parameter:z0: " << track->dz()<< std::endl; 00729 std::cout << "\tAzimuthal angle of point of closest approach:" << track->phi()<< std::endl; 00730 std::cout << "\tcharge: " << track->charge()<< std::endl; 00731 std::cout << "\teta: " << track->eta()<< std::endl; 00732 std::cout << "\tnormalizedChi2: " << track->normalizedChi2()<< std::endl; 00733 00734 00735 std::vector<std::pair<TrackingParticleRef, double> > tp; 00736 00737 //Compute fake rate vs eta 00738 if(recSimColl.find(track) != recSimColl.end()){ 00739 tp = recSimColl[track]; 00740 if (tp.size()!=0) { 00741 edm::LogVerbatim("TrackValidator") << "reco::Track #" << rT << " with pt=" << track->pt() 00742 << " associated with quality:" << tp.begin()->second <<"\n"; 00743 00744 00745 TrackingParticleRef tpr = tp.begin()->first; 00746 const SimTrack * fakeassocTrack = &(*tpr->g4Track_begin()); 00747 00748 edm::ESHandle<MagneticField> theMF; 00749 iSetup.get<IdealMagneticFieldRecord>().get(theMF); 00750 FreeTrajectoryState 00751 ftsAtProduction(GlobalPoint(tpr->vertex().x(),tpr->vertex().y(),tpr->vertex().z()), 00752 GlobalVector(fakeassocTrack->momentum().x(),fakeassocTrack->momentum().y(),fakeassocTrack->momentum().z()), 00753 TrackCharge(tpr->charge()), 00754 theMF.product()); 00755 TSCPBuilderNoMaterial tscpBuilder; 00756 TrajectoryStateClosestToPoint tsAtClosestApproach 00757 = tscpBuilder(ftsAtProduction,GlobalPoint(0,0,0));//as in TrackProducerAlgorithm 00758 GlobalPoint v = tsAtClosestApproach.theState().position(); 00759 GlobalVector p = tsAtClosestApproach.theState().momentum(); 00760 00761 // double qoverpSim = tsAtClosestApproach.charge()/p.mag(); 00762 // double lambdaSim = M_PI/2-p.theta(); 00763 // double phiSim = p.phi(); 00764 double dxySim = (-v.x()*sin(p.phi())+v.y()*cos(p.phi())); 00765 double dszSim = v.z()*p.perp()/p.mag() - (v.x()*p.x()+v.y()*p.y())/p.perp() * p.z()/p.mag(); 00766 faked0 = float(-dxySim); 00767 fakez0 = float(dszSim*p.mag()/p.perp()); 00768 00769 00770 faketrackType=fakeassocTrack->type(); 00771 faketheta=fakeassocTrack->momentum().theta(); 00772 fakecottheta=1./tan(faketheta); 00773 fakeeta=fakeassocTrack->momentum().eta(); 00774 fakephi=fakeassocTrack->momentum().phi(); 00775 fakept=fakeassocTrack->momentum().pt(); 00776 fakenhit=tpr->matchedHit(); 00777 00778 cout << "4) After call to associator: the best SimTrack match is of type" << fakeassocTrack->type() 00779 << " ,at eta = " << fakeeta 00780 << " and phi = " << fakephi 00781 << " ,with pt at vertex = " << fakept << " GeV/c" 00782 << " ,d0 global = " << faked0 00783 << " ,z0 = " << fakez0 00784 << endl; 00785 fake=1; 00786 00787 fakerespt=fakerecpt-fakept; 00788 fakeresd0=fakerecd0-faked0; 00789 fakeresz0=fakerecz0-fakez0; 00790 fakereseta=-log(tan(fakerectheta/2.))-(-log(tan(faketheta/2.))); 00791 fakeresphi=fakerecphi-fakephi; 00792 fakerescottheta=fakereccottheta-fakecottheta; 00793 00794 } 00795 } 00796 else{ 00797 edm::LogVerbatim("TrackValidator") << "reco::Track #" << rT << " with pt=" << track->pt() 00798 << " NOT associated to any TrackingParticle" << "\n"; 00799 00800 fakeeta =-100.; 00801 faketheta=-100; 00802 fakephi =-100.; 00803 fakept =-100.; 00804 faked0 =-100.; 00805 fakez0 =-100; 00806 fakerespt =-100.; 00807 fakeresd0 =-100.; 00808 fakeresz0 =-100.; 00809 fakeresphi =-100.; 00810 fakereseta =-100.; 00811 fakerescottheta=-100.; 00812 fakenhit=100; 00813 fake=0; 00814 } 00815 00816 tree_fake->Fill(); 00817 } 00818 00819 } // End of loop on fakerate 00820 00821 w++; 00822 00823 } // End of loop on associators 00824 }
void ValidationMisalignedTracker::beginJob | ( | const edm::EventSetup & | iSetup | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 242 of file ValidationMisalignedTracker.cc.
References associatore, associators, edm::EventSetup::get(), edm::ESHandle< T >::product(), and w.
00243 { 00244 00245 edm::ESHandle<TrackAssociatorBase> theAssociator; 00246 for (unsigned int w=0;w<associators.size();w++) { 00247 iSetup.get<TrackAssociatorRecord>().get(associators[w],theAssociator); 00248 associatore.push_back( (const TrackAssociatorBase *) theAssociator.product() ); 00249 } 00250 00251 00252 }
Reimplemented from edm::EDAnalyzer.
Definition at line 827 of file ValidationMisalignedTracker.cc.
References GenMuonPlsPt100GeV_cfg::cout, and lat::endl().
std::vector<const TrackAssociatorBase*> ValidationMisalignedTracker::associatore [private] |
Definition at line 94 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and beginJob().
std::vector<std::string> ValidationMisalignedTracker::associators [private] |
Definition at line 93 of file ValidationMisalignedTracker.h.
Referenced by analyze(), beginJob(), and ValidationMisalignedTracker().
double ValidationMisalignedTracker::chi2tmp [private] |
Definition at line 89 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::costheta [private] |
float ValidationMisalignedTracker::cottheta [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::count [private] |
Definition at line 62 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::countpart[2] [private] |
Definition at line 61 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::countpartrec[2] [private] |
Definition at line 61 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::countrec [private] |
Definition at line 62 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::d0 [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::eff [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::ene[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::enezmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::eta [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::etazmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::eventCount_ [private] |
Definition at line 51 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker(), and ~ValidationMisalignedTracker().
float ValidationMisalignedTracker::fake [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakecostheta [private] |
float ValidationMisalignedTracker::fakecottheta [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::fakecount [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::fakecountpart[2] [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::fakecountpartrec[2] [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::fakecountrec [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::fakecountsim [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::faked0 [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeene[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakeenezmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeeta [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeetazmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::fakeflag [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::fakeflagrec [private] |
Definition at line 77 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakeminptmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakemxptmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakemzmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::fakenAssoc [private] |
Definition at line 85 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::fakenhit [private] |
Definition at line 83 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakep[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakephi [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakephizmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakepLzmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakept [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeptmu[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakeptzmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakepx[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakepy[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakepz[2][2] [private] |
Definition at line 78 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecchiq [private] |
Definition at line 86 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakereccottheta [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecd0 [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecene[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecenezmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakereceta [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecetazmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecminptmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecmxptmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecmzmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::fakerecnhit [private] |
Definition at line 85 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecp[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecphi [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecphizmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecpLzmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecpt [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecptmu[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecptzmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecpx[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecpy[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerecpz[2][2] [private] |
Definition at line 79 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::fakerectheta [private] |
float ValidationMisalignedTracker::fakerecthetazmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecyzmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerecz0 [private] |
Definition at line 84 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerescottheta [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeresd0 [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakereseta [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeresphi [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakerespt [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeresz0 [private] |
Definition at line 87 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::faketheta [private] |
float ValidationMisalignedTracker::fakethetazmu [private] |
Definition at line 75 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
Definition at line 81 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakeyzmu [private] |
Definition at line 76 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
float ValidationMisalignedTracker::fakez0 [private] |
Definition at line 82 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
TFile* ValidationMisalignedTracker::file_ [private] |
Definition at line 54 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker(), and ~ValidationMisalignedTracker().
int ValidationMisalignedTracker::flag [private] |
Definition at line 62 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::flagrec [private] |
Definition at line 62 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::fractiontmp [private] |
Definition at line 90 of file ValidationMisalignedTracker.h.
int ValidationMisalignedTracker::ievt [private] |
Definition at line 57 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::irun [private] |
Definition at line 57 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
std::vector<edm::InputTag> ValidationMisalignedTracker::label [private] |
Definition at line 96 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
Definition at line 97 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
Definition at line 98 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
Definition at line 100 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::minptmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::mxptmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::mzmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::nAssoc [private] |
Definition at line 71 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::nhit [private] |
Definition at line 69 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
bool ValidationMisalignedTracker::onlyDiag [private] |
Definition at line 91 of file ValidationMisalignedTracker.h.
float ValidationMisalignedTracker::p[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::phi [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::phizmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::pLzmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::pt [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::ptmu[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
std::vector<float> ValidationMisalignedTracker::ptused [private] |
float ValidationMisalignedTracker::ptzmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::px[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::py[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::pz[2][2] [private] |
Definition at line 64 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recchiq [private] |
Definition at line 72 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::reccottheta [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recd0 [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recene[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recenezmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::receta [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recetazmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recminptmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recmxptmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recmzmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
int ValidationMisalignedTracker::recnhit [private] |
Definition at line 71 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recp[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recphi [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recphizmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recpLzmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recpt [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recptmu[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recptzmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recpx[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recpy[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recpz[2][2] [private] |
Definition at line 65 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::rectheta [private] |
float ValidationMisalignedTracker::recthetazmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recyzmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::recz0 [private] |
Definition at line 70 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::rescottheta [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::resd0 [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::reseta [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::resphi [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::respt [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::resz0 [private] |
Definition at line 73 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
std::string ValidationMisalignedTracker::rootfile_ [private] |
Definition at line 48 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
Definition at line 47 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
Definition at line 47 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
std::string ValidationMisalignedTracker::simobject [private] |
Definition at line 46 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
bool ValidationMisalignedTracker::skip [private] |
float ValidationMisalignedTracker::theta [private] |
float ValidationMisalignedTracker::thetazmu [private] |
Definition at line 59 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
std::string ValidationMisalignedTracker::trackassociator [private] |
Definition at line 46 of file ValidationMisalignedTracker.h.
Referenced by ValidationMisalignedTracker().
int ValidationMisalignedTracker::trackType [private] |
Definition at line 67 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
TTree* ValidationMisalignedTracker::tree_eff [private] |
Definition at line 52 of file ValidationMisalignedTracker.h.
Referenced by analyze(), ValidationMisalignedTracker(), and ~ValidationMisalignedTracker().
TTree* ValidationMisalignedTracker::tree_fake [private] |
Definition at line 53 of file ValidationMisalignedTracker.h.
Referenced by analyze(), ValidationMisalignedTracker(), and ~ValidationMisalignedTracker().
float ValidationMisalignedTracker::yzmu [private] |
Definition at line 60 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
float ValidationMisalignedTracker::z0 [private] |
Definition at line 68 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().
Definition at line 47 of file ValidationMisalignedTracker.h.
Referenced by analyze(), and ValidationMisalignedTracker().