CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ValidationMisalignedTracker Class Reference

#include <Alignment/OfflineValidation/src/ValidationMisalignedTracker.cc>

Inheritance diagram for ValidationMisalignedTracker:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 ValidationMisalignedTracker (const edm::ParameterSet &)
 
 ~ValidationMisalignedTracker () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void endJob () override
 

Private Attributes

std::vector< std::string > associators
 
double chi2tmp
 
float costheta
 
float cottheta
 
int count
 
int countpart [2]
 
int countpartrec [2]
 
int countrec
 
float d0
 
float eff
 
float ene [2][2]
 
float enezmu
 
float eta
 
float etazmu
 
int eventCount_
 
float fake
 
float fakecostheta
 
float fakecottheta
 
int fakecount
 
int fakecountpart [2]
 
int fakecountpartrec [2]
 
int fakecountrec
 
int fakecountsim
 
float faked0
 
float fakeene [2][2]
 
float fakeenezmu
 
float fakeeta
 
float fakeetazmu
 
int fakeflag
 
int fakeflagrec
 
float fakeminptmu
 
float fakemxptmu
 
float fakemzmu
 
int fakenAssoc
 
int fakenhit
 
float fakep [2][2]
 
float fakephi
 
float fakephizmu
 
float fakepLzmu
 
float fakept
 
float fakeptmu [2][2]
 
float fakeptzmu
 
float fakepx [2][2]
 
float fakepy [2][2]
 
float fakepz [2][2]
 
float fakerecchiq
 
float fakereccottheta
 
float fakerecd0
 
float fakerecene [2][2]
 
float fakerecenezmu
 
float fakereceta
 
float fakerecetazmu
 
float fakerecminptmu
 
float fakerecmxptmu
 
float fakerecmzmu
 
int fakerecnhit
 
float fakerecp [2][2]
 
float fakerecphi
 
float fakerecphizmu
 
float fakerecpLzmu
 
float fakerecpt
 
float fakerecptmu [2][2]
 
float fakerecptzmu
 
float fakerecpx [2][2]
 
float fakerecpy [2][2]
 
float fakerecpz [2][2]
 
float fakerectheta
 
float fakerecthetazmu
 
float fakerecyzmu
 
float fakerecz0
 
float fakerescottheta
 
float fakeresd0
 
float fakereseta
 
float fakeresphi
 
float fakerespt
 
float fakeresz0
 
float faketheta
 
float fakethetazmu
 
int faketrackType
 
float fakeyzmu
 
float fakez0
 
TFile * file_
 
int flag
 
int flagrec
 
float fractiontmp
 
int ievt
 
int irun
 
std::vector< edm::InputTaglabel
 
edm::InputTag label_tp_effic
 
edm::InputTag label_tp_fake
 
GlobalVector magField
 
float minptmu
 
float mxptmu
 
float mzmu
 
int nAssoc
 
int nhit
 
bool onlyDiag
 
float p [2][2]
 
float phi
 
float phizmu
 
float pLzmu
 
float pt
 
float ptmu [2][2]
 
std::vector< float > ptused
 
float ptzmu
 
float px [2][2]
 
float py [2][2]
 
float pz [2][2]
 
float recchiq
 
float reccottheta
 
float recd0
 
float recene [2][2]
 
float recenezmu
 
float receta
 
float recetazmu
 
float recminptmu
 
float recmxptmu
 
float recmzmu
 
int recnhit
 
float recp [2][2]
 
float recphi
 
float recphizmu
 
float recpLzmu
 
float recpt
 
float recptmu [2][2]
 
float recptzmu
 
float recpx [2][2]
 
float recpy [2][2]
 
float recpz [2][2]
 
float rectheta
 
float recthetazmu
 
float recyzmu
 
float recz0
 
float rescottheta
 
float resd0
 
float reseta
 
float resphi
 
float respt
 
float resz0
 
std::string rootfile_
 
bool selection_eff
 
bool selection_fake
 
std::string simobject
 
bool skip
 
edm::ESHandle< MagneticFieldtheMF
 
float theta
 
float thetazmu
 
std::string trackassociator
 
int trackType
 
TTree * tree_eff
 
TTree * tree_fake
 
float yzmu
 
float z0
 
bool ZmassSelection_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 33 of file ValidationMisalignedTracker.h.

Constructor & Destructor Documentation

ValidationMisalignedTracker::ValidationMisalignedTracker ( const edm::ParameterSet iConfig)
explicit

Definition at line 42 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(), mps_fire::i, ievt, irun, dqmiolumiharvest::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, AlCaHLTBitMon_QueryRunRegistry::string, thetazmu, trackassociator, trackType, tree_eff, tree_fake, yzmu, z0, and ZmassSelection_.

42  {
43  //now do what ever initialization is needed
44  mzmu = 0., recmzmu = 0., ptzmu = 0., recptzmu = 0., etazmu = 0., recetazmu = 0., thetazmu = 0., recthetazmu = 0.,
45  phizmu = 0., recphizmu = 0.;
46  recenezmu = 0., enezmu = 0., pLzmu = 0., recpLzmu = 0., yzmu = 0., recyzmu = 0., mxptmu = 0., recmxptmu = 0.,
47  minptmu = 0., recminptmu = 0.;
48  // mzele=0.,recmzele=0.
49 
50  flag = 0, flagrec = 0, count = 0, countrec = 0;
51  nAssoc = 0;
52 
53  for (int i = 0; i < 2; i++) {
54  countpart[i] = 0;
55  countpartrec[i] = 0;
56  for (int j = 0; j < 2; j++) {
57  ene[i][j] = 0.;
58  p[i][j] = 0.;
59  px[i][j] = 0.;
60  py[i][j] = 0.;
61  pz[i][j] = 0.;
62  ptmu[i][j] = 0.;
63  recene[i][j] = 0.;
64  recp[i][j] = 0.;
65  recpx[i][j] = 0.;
66  recpy[i][j] = 0.;
67  recpz[i][j] = 0.;
68  recptmu[i][j] = 0.;
69  }
70  }
71 
72  eventCount_ = 0;
73 
74  selection_eff = iConfig.getUntrackedParameter<bool>("selection_eff", false);
75  selection_fake = iConfig.getUntrackedParameter<bool>("selection_fake", true);
76  ZmassSelection_ = iConfig.getUntrackedParameter<bool>("ZmassSelection", false);
77  simobject = iConfig.getUntrackedParameter<std::string>("simobject", "g4SimHits");
78  trackassociator = iConfig.getUntrackedParameter<std::string>("TrackAssociator", "ByHits");
79  associators = iConfig.getParameter<std::vector<std::string> >("associators");
80  label = iConfig.getParameter<std::vector<edm::InputTag> >("label");
81  label_tp_effic = iConfig.getParameter<edm::InputTag>("label_tp_effic");
82  label_tp_fake = iConfig.getParameter<edm::InputTag>("label_tp_fake");
83 
84  rootfile_ = iConfig.getUntrackedParameter<std::string>("rootfile", "myroot.root");
85  file_ = new TFile(rootfile_.c_str(), "RECREATE");
86 
87  // initialize the tree
88  tree_eff = new TTree("EffTracks", "Efficiency Tracks Tree");
89 
90  tree_eff->Branch("Run", &irun, "irun/i");
91  tree_eff->Branch("Event", &ievt, "ievt/i");
92 
93  // SimTrack
94  tree_eff->Branch("TrackID", &trackType, "trackType/i");
95  tree_eff->Branch("pt", &pt, "pt/F");
96  tree_eff->Branch("eta", &eta, "eta/F");
97  tree_eff->Branch("CotTheta", &cottheta, "cottheta/F");
98  tree_eff->Branch("phi", &phi, "phi/F");
99  tree_eff->Branch("d0", &d0, "d0/F");
100  tree_eff->Branch("z0", &z0, "z0/F");
101  tree_eff->Branch("nhit", &nhit, "nhit/i");
102 
103  // RecTrack
104  tree_eff->Branch("recpt", &recpt, "recpt/F");
105  tree_eff->Branch("receta", &receta, "receta/F");
106  tree_eff->Branch("CotRecTheta", &reccottheta, "reccottheta/F");
107  tree_eff->Branch("recphi", &recphi, "recphi/F");
108  tree_eff->Branch("recd0", &recd0, "recd0/F");
109  tree_eff->Branch("recz0", &recz0, "recz0/F");
110  tree_eff->Branch("nAssoc", &nAssoc, "nAssoc/i");
111  tree_eff->Branch("recnhit", &recnhit, "recnhit/i");
112  tree_eff->Branch("CHISQ", &recchiq, "recchiq/F");
113 
114  tree_eff->Branch("reseta", &reseta, "reseta/F");
115  tree_eff->Branch("respt", &respt, "respt/F");
116  tree_eff->Branch("resd0", &resd0, "resd0/F");
117  tree_eff->Branch("resz0", &resz0, "resz0/F");
118  tree_eff->Branch("resphi", &resphi, "resphi/F");
119  tree_eff->Branch("rescottheta", &rescottheta, "rescottheta/F");
120  tree_eff->Branch("eff", &eff, "eff/F");
121 
122  // Invariant masses, pt of Z
123  tree_eff->Branch("mzmu", &mzmu, "mzmu/F");
124  tree_eff->Branch("ptzmu", &ptzmu, "ptzmu/F");
125  tree_eff->Branch("pLzmu", &pLzmu, "pLzmu/F");
126  tree_eff->Branch("enezmu", &enezmu, "enezmu/F");
127  tree_eff->Branch("etazmu", &etazmu, "etazmu/F");
128  tree_eff->Branch("thetazmu", &thetazmu, "thetazmu/F");
129  tree_eff->Branch("phizmu", &phizmu, "phizmu/F");
130  tree_eff->Branch("yzmu", &yzmu, "yzmu/F");
131  tree_eff->Branch("mxptmu", &mxptmu, "mxptmu/F");
132  tree_eff->Branch("minptmu", &minptmu, "minptmu/F");
133 
134  tree_eff->Branch("recmzmu", &recmzmu, "recmzmu/F");
135  tree_eff->Branch("recptzmu", &recptzmu, "recptzmu/F");
136  tree_eff->Branch("recpLzmu", &recpLzmu, "recpLzmu/F");
137  tree_eff->Branch("recenezmu", &recenezmu, "recenezmu/F");
138  tree_eff->Branch("recetazmu", &recetazmu, "recetazmu/F");
139  tree_eff->Branch("recthetazmu", &recthetazmu, "recthetazmu/F");
140  tree_eff->Branch("recphizmu", &recphizmu, "recphizmu/F");
141  tree_eff->Branch("recyzmu", &recyzmu, "recyzmu/F");
142  tree_eff->Branch("recmxptmu", &recmxptmu, "recmxptmu/F");
143  tree_eff->Branch("recminptmu", &recminptmu, "recminptmu/F");
144 
145  //tree->Branch("mzele",&ntmzele,"ntmzele/F");
146  //tree->Branch("recmzele",&ntmzeleRec,"ntmzeleRec/F");
147  tree_eff->Branch("chi2Associator", &recchiq, "recchiq/F");
148 
149  // Fake
150 
151  tree_fake = new TTree("FakeTracks", "Fake Rate Tracks Tree");
152 
153  tree_fake->Branch("Run", &irun, "irun/i");
154  tree_fake->Branch("Event", &ievt, "ievt/i");
155 
156  // SimTrack
157  tree_fake->Branch("fakeTrackID", &faketrackType, "faketrackType/i");
158  tree_fake->Branch("fakept", &fakept, "fakept/F");
159  tree_fake->Branch("fakeeta", &fakeeta, "fakeeta/F");
160  tree_fake->Branch("fakeCotTheta", &fakecottheta, "fakecottheta/F");
161  tree_fake->Branch("fakephi", &fakephi, "fakephi/F");
162  tree_fake->Branch("faked0", &faked0, "faked0/F");
163  tree_fake->Branch("fakez0", &fakez0, "fakez0/F");
164  tree_fake->Branch("fakenhit", &fakenhit, "fakenhit/i");
165 
166  // RecTrack
167  tree_fake->Branch("fakerecpt", &fakerecpt, "fakerecpt/F");
168  tree_fake->Branch("fakereceta", &fakereceta, "fakereceta/F");
169  tree_fake->Branch("fakeCotRecTheta", &fakereccottheta, "fakereccottheta/F");
170  tree_fake->Branch("fakerecphi", &fakerecphi, "fakerecphi/F");
171  tree_fake->Branch("fakerecd0", &fakerecd0, "fakerecd0/F");
172  tree_fake->Branch("fakerecz0", &fakerecz0, "fakerecz0/F");
173  tree_fake->Branch("fakenAssoc", &fakenAssoc, "fakenAssoc/i");
174  tree_fake->Branch("fakerecnhit", &fakerecnhit, "fakerecnhit/i");
175  tree_fake->Branch("fakeCHISQ", &fakerecchiq, "fakerecchiq/F");
176 
177  tree_fake->Branch("fakereseta", &fakereseta, "fakereseta/F");
178  tree_fake->Branch("fakerespt", &fakerespt, "fakerespt/F");
179  tree_fake->Branch("fakeresd0", &fakeresd0, "fakeresd0/F");
180  tree_fake->Branch("fakeresz0", &fakeresz0, "fakeresz0/F");
181  tree_fake->Branch("fakeresphi", &fakeresphi, "fakeresphi/F");
182  tree_fake->Branch("fakerescottheta", &fakerescottheta, "fakerescottheta/F");
183  tree_fake->Branch("fake", &fake, "fake/F");
184 
185  // Invariant masses, pt of Z
186  tree_fake->Branch("fakemzmu", &fakemzmu, "fakemzmu/F");
187  tree_fake->Branch("fakeptzmu", &fakeptzmu, "fakeptzmu/F");
188  tree_fake->Branch("fakepLzmu", &fakepLzmu, "fakepLzmu/F");
189  tree_fake->Branch("fakeenezmu", &fakeenezmu, "fakeenezmu/F");
190  tree_fake->Branch("fakeetazmu", &fakeetazmu, "fakeetazmu/F");
191  tree_fake->Branch("fakethetazmu", &fakethetazmu, "fakethetazmu/F");
192  tree_fake->Branch("fakephizmu", &fakephizmu, "fakephizmu/F");
193  tree_fake->Branch("fakeyzmu", &fakeyzmu, "fakeyzmu/F");
194  tree_fake->Branch("fakemxptmu", &fakemxptmu, "fakemxptmu/F");
195  tree_fake->Branch("fakeminptmu", &fakeminptmu, "fakeminptmu/F");
196 
197  tree_fake->Branch("fakerecmzmu", &fakerecmzmu, "fakerecmzmu/F");
198  tree_fake->Branch("fakerecptzmu", &fakerecptzmu, "fakerecptzmu/F");
199  tree_fake->Branch("fakerecpLzmu", &fakerecpLzmu, "fakerecpLzmu/F");
200  tree_fake->Branch("fakerecenezmu", &fakerecenezmu, "fakerecenezmu/F");
201  tree_fake->Branch("fakerecetazmu", &fakerecetazmu, "fakerecetazmu/F");
202  tree_fake->Branch("fakerecthetazmu", &fakerecthetazmu, "fakerecthetazmu/F");
203  tree_fake->Branch("fakerecphizmu", &fakerecphizmu, "fakerecphizmu/F");
204  tree_fake->Branch("fakerecyzmu", &fakerecyzmu, "fakerecyzmu/F");
205  tree_fake->Branch("fakerecmxptmu", &fakerecmxptmu, "fakerecmxptmu/F");
206  tree_fake->Branch("fakerecminptmu", &fakerecminptmu, "fakerecminptmu/F");
207 
208  tree_fake->Branch("fakechi2Associator", &fakerecchiq, "fakerecchiq/F");
209 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > associators
std::vector< edm::InputTag > label
ValidationMisalignedTracker::~ValidationMisalignedTracker ( )
override

Definition at line 211 of file ValidationMisalignedTracker.cc.

References gather_cfg::cout, eventCount_, file_, tree_eff, and tree_fake.

211  {
212  std::cout << "ValidationMisalignedTracker::endJob Processed " << eventCount_ << " events" << std::endl;
213 
214  // store the tree in the output file
215  file_->Write();
216 
217  // Closing the file deletes the tree.
218  file_->Close();
219  tree_eff = nullptr;
220  tree_fake = nullptr;
221 }

Member Function Documentation

void ValidationMisalignedTracker::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 228 of file ValidationMisalignedTracker.cc.

References funct::abs(), cms::dd::accepted(), ecalcalib_dqm_sourceclient-live_cfg::algo, associators, reco::TrackBase::charge(), funct::cos(), costheta, cottheta, count, countpart, countpartrec, countrec, gather_cfg::cout, d0, reco::TrackBase::d0(), TrackerGeometry::detsTOB(), reco::TrackBase::dz(), eff, edm::AssociationMap< Tag >::end(), ene, enezmu, eta, reco::TrackBase::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, dqmMemoryStats::float, SimTrack::genpartIndex(), edm::EventSetup::get(), edm::Event::getByLabel(), edm::HepMCProduct::GetEvent(), mps_fire::i, edm::EventBase::id(), ievt, irun, dqmiolumiharvest::j, label, label_tp_effic, label_tp_fake, dqm-mbProfile::log, LogTrace, PV3DBase< T, PVType, FrameType >::mag(), SiStripPI::max, min(), minptmu, CoreSimTrack::momentum(), FreeTrajectoryState::momentum(), reco::TrackBase::momentum(), mxptmu, mzmu, nhit, reco::TrackBase::normalizedChi2(), reco::TrackBase::numberOfValidHits(), p, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), reco::TrackBase::phi(), phizmu, pLzmu, FreeTrajectoryState::position(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), pt, reco::TrackBase::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, mathSSE::sqrt(), OrderedSet::t, funct::tan(), theMF, TrajectoryStateClosestToPoint::theState(), theta, reco::TrackBase::theta(), thetazmu, HLT_2018_cff::track, duplicaterechits_cfi::trackCollection, trackType, tree_eff, tree_fake, CoreSimTrack::type(), findQualityFiles::v, w, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), yzmu, PV3DBase< T, PVType, FrameType >::z(), z0, and ZmassSelection_.

228  {
229  std::vector<const reco::TrackToTrackingParticleAssociator*> associatore;
230 
231  {
233  for (unsigned int w = 0; w < associators.size(); w++) {
234  iEvent.getByLabel(associators[w], theAssociator);
235  associatore.push_back(theAssociator.product());
236  }
237  }
238 
239  edm::LogInfo("Tracker Misalignment Validation") << "\n Starting!";
240 
241  // Monte Carlo Z selection
242  skip = false;
243  std::vector<int> indmu;
244 
247  iEvent.getByLabel("source", evt);
248  bool accepted = false;
249  bool foundmuons = false;
250  HepMC::GenEvent* myGenEvent = new HepMC::GenEvent(*(evt->GetEvent()));
251 
252  for (HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end(); ++p) {
253  if (!accepted && ((*p)->pdg_id() == 23) && (*p)->status() == 3) {
254  accepted = true;
255  for (HepMC::GenVertex::particle_iterator aDaughter = (*p)->end_vertex()->particles_begin(HepMC::descendants);
256  aDaughter != (*p)->end_vertex()->particles_end(HepMC::descendants);
257  aDaughter++) {
258  if (abs((*aDaughter)->pdg_id()) == 13) {
259  foundmuons = true;
260  if ((*aDaughter)->status() != 1) {
261  for (HepMC::GenVertex::particle_iterator byaDaughter =
262  (*aDaughter)->end_vertex()->particles_begin(HepMC::descendants);
263  byaDaughter != (*aDaughter)->end_vertex()->particles_end(HepMC::descendants);
264  byaDaughter++) {
265  if ((*byaDaughter)->status() == 1 && abs((*byaDaughter)->pdg_id()) == 13) {
266  indmu.push_back((*byaDaughter)->barcode());
267  std::cout << "Stable muon from Z with charge " << (*byaDaughter)->pdg_id() << " and index "
268  << (*byaDaughter)->barcode() << std::endl;
269  }
270  }
271  } else {
272  indmu.push_back((*aDaughter)->barcode());
273  std::cout << "Stable muon from Z with charge " << (*aDaughter)->pdg_id() << " and index "
274  << (*aDaughter)->barcode() << std::endl;
275  }
276  }
277  }
278  if (!foundmuons) {
279  std::cout << "No muons from Z ...skip event" << std::endl;
280  skip = true;
281  }
282  }
283  }
284  if (!accepted) {
285  std::cout << "No Z particles in the event ...skip event" << std::endl;
286  skip = true;
287  }
288  } else {
289  skip = false;
290  }
291 
292  //
293  // Retrieve tracker geometry from event setup
294  //
295  edm::ESHandle<TrackerGeometry> trackerGeometry;
296  iSetup.get<TrackerDigiGeometryRecord>().get(trackerGeometry);
297  auto testGeomDet = trackerGeometry->detsTOB().front();
298  std::cout << testGeomDet->position() << std::endl;
299 
300  //Dump Run and Event
301  irun = iEvent.id().run();
302  ievt = iEvent.id().event();
303 
304  // Reset tree variables
305  int countpart[2] = {0, 0}, countpartrec[2] = {0, 0}, flag = 0, flagrec = 0, count = 0, countrec = 0;
306  //int countsim=0;
307  float ene[2][2], px[2][2], py[2][2], pz[2][2], ptmu[2][2];
308  float recene[2][2], recp[2][2], recpx[2][2], recpy[2][2], recpz[2][2], recptmu[2][2];
309 
310  for (int i = 0; i < 2; i++) {
311  for (int j = 0; j < 2; j++) {
312  ene[i][j] = 0.;
313  px[i][j] = 0.;
314  py[i][j] = 0.;
315  pz[i][j] = 0.;
316  ptmu[i][j] = 0.;
317  recene[i][j] = 0.;
318  recp[i][j] = 0.;
319  recpx[i][j] = 0.;
320  recpy[i][j] = 0.;
321  recpz[i][j] = 0.;
322  recptmu[i][j] = 0.;
323  }
324  }
325 
327  iEvent.getByLabel(label_tp_effic, TPCollectionHeff);
328  const TrackingParticleCollection tPCeff = *(TPCollectionHeff.product());
329 
330  edm::Handle<TrackingParticleCollection> TPCollectionHfake;
331  iEvent.getByLabel(label_tp_fake, TPCollectionHfake);
332  const TrackingParticleCollection tPCfake = *(TPCollectionHfake.product());
333 
334  int w = 0;
335  for (unsigned int ww = 0; ww < associators.size(); ww++) {
336  //
337  //get collections from the event
338  //
339 
340  edm::InputTag algo = label[0];
341 
343  iEvent.getByLabel(algo, trackCollection);
344  const edm::View<reco::Track> tC = *(trackCollection.product());
345 
346  //associate tracks
347  LogTrace("TrackValidator") << "Calling associateRecoToSim method"
348  << "\n";
349  reco::RecoToSimCollection recSimColl = associatore[ww]->associateRecoToSim(trackCollection, TPCollectionHfake);
350 
351  LogTrace("TrackValidator") << "Calling associateSimToReco method"
352  << "\n";
353  reco::SimToRecoCollection simRecColl = associatore[ww]->associateSimToReco(trackCollection, TPCollectionHeff);
354 
355  //
356  //compute number of tracks per eta interval
357  //
358 
359  if (selection_eff && !skip) {
360  std::cout << "Computing Efficiency" << std::endl;
361 
362  edm::LogVerbatim("TrackValidator") << "\n# of TrackingParticles (before cuts): " << tPCeff.size() << "\n";
363  int ats = 0;
364  int st = 0;
365  for (TrackingParticleCollection::size_type i = 0; i < tPCeff.size(); i++) {
366  // Initialize variables
367  eta = 0., theta = 0., phi = 0., pt = 0., cottheta = 0., costheta = 0.;
368  d0 = 0., z0 = 0.;
369  nhit = 0;
370  receta = 0., rectheta = 0., recphi = 0., recpt = 0., reccottheta = 0., recd0 = 0., recz0 = 0.;
371  respt = 0., resd0 = 0., resz0 = 0., reseta = 0., resphi = 0., rescottheta = 0.;
372  recchiq = 0.;
373  recnhit = 0;
374  trackType = 0;
375  eff = 0;
376 
377  // typedef edm::Ref<TrackingParticleCollection> TrackingParticleRef;
378  TrackingParticleRef tp(TPCollectionHeff, i);
379  if (tp->charge() == 0)
380  continue;
381  st++;
382  //pt=sqrt(tp->momentum().perp2());
383  //eta=tp->momentum().eta();
384  //vpos=tp->vertex().perp2()));
385 
386  const SimTrack* simulatedTrack = &(*tp->g4Track_begin());
387 
389  iSetup.get<IdealMagneticFieldRecord>().get(theMF);
390  FreeTrajectoryState ftsAtProduction(
391  GlobalPoint(tp->vertex().x(), tp->vertex().y(), tp->vertex().z()),
392  GlobalVector(
393  simulatedTrack->momentum().x(), simulatedTrack->momentum().y(), simulatedTrack->momentum().z()),
394  TrackCharge(tp->charge()),
395  theMF.product());
396  TSCPBuilderNoMaterial tscpBuilder;
397  TrajectoryStateClosestToPoint tsAtClosestApproach =
398  tscpBuilder(ftsAtProduction, GlobalPoint(0, 0, 0)); //as in TrackProducerAlgorithm
399  GlobalPoint v = tsAtClosestApproach.theState().position();
400  GlobalVector p = tsAtClosestApproach.theState().momentum();
401 
402  // double qoverpSim = tsAtClosestApproach.charge()/p.mag();
403  // double lambdaSim = M_PI/2-p.theta();
404  // double phiSim = p.phi();
405  double dxySim = (-v.x() * sin(p.phi()) + v.y() * cos(p.phi()));
406  double dszSim = v.z() * p.perp() / p.mag() - (v.x() * p.x() + v.y() * p.y()) / p.perp() * p.z() / p.mag();
407  d0 = float(-dxySim);
408  z0 = float(dszSim * p.mag() / p.perp());
409 
410  if (abs(simulatedTrack->type()) == 13 && simulatedTrack->genpartIndex() != -1) {
411  std::cout << " TRACCIA SIM DI MUONI " << std::endl;
412  std::cout << "Gen part " << simulatedTrack->genpartIndex() << std::endl;
413  trackType = simulatedTrack->type();
414  theta = simulatedTrack->momentum().theta();
415  costheta = cos(theta);
416  cottheta = 1. / tan(theta);
417 
418  eta = simulatedTrack->momentum().eta();
419  phi = simulatedTrack->momentum().phi();
420  pt = simulatedTrack->momentum().pt();
421  nhit = tp->matchedHit();
422 
423  std::cout << "3) Before assoc: SimTrack of type = " << simulatedTrack->type() << " ,at eta = " << eta
424  << " ,with pt at vertex = " << simulatedTrack->momentum().pt() << " GeV/c"
425  << " ,d0 =" << d0 << " ,z0 =" << z0 << " ,nhit=" << nhit << std::endl;
426 
427  if (ZmassSelection_) {
428  if (abs(trackType) == 13 &&
429  (simulatedTrack->genpartIndex() == indmu[0] || simulatedTrack->genpartIndex() == indmu[1])) {
430  std::cout << " TRACK sim of muons from Z " << std::endl;
431  flag = 0;
432  count = countpart[0];
433  countpart[0]++;
434  } else if (abs(trackType) == 11) {
435  //std::cout << " TRACCIA SIM DI ELETTRONI " << std::endl;
436  flag = 1;
437  count = countpart[1];
438  countpart[1]++;
439  }
440 
441  px[flag][count] = simulatedTrack->momentum().x();
442  py[flag][count] = simulatedTrack->momentum().y();
443  pz[flag][count] = simulatedTrack->momentum().z();
444  ptmu[flag][count] = simulatedTrack->momentum().pt();
445  ene[flag][count] = simulatedTrack->momentum().e();
446  }
447 
448  std::vector<std::pair<edm::RefToBase<reco::Track>, double> > rt;
449  if (simRecColl.find(tp) != simRecColl.end()) {
450  rt = simRecColl[tp];
451  if (!rt.empty()) {
452  edm::RefToBase<reco::Track> t = rt.begin()->first;
453  ats++;
454 
455  // bool flagptused=false;
456  // for (unsigned int j=0;j<ptused.size();j++){
457  // if (fabs(t->pt()-ptused[j])<0.001) {
458  // flagptused=true;
459  // }
460  // }
461 
462  edm::LogVerbatim("TrackValidator") << "TrackingParticle #" << st << " with pt=" << t->pt()
463  << " associated with quality:" << rt.begin()->second << "\n";
464  std::cout << "Reconstructed Track:" << t->pt() << std::endl;
465  std::cout << "\tpT: " << t->pt() << std::endl;
466  std::cout << "\timpact parameter:d0: " << t->d0() << std::endl;
467  std::cout << "\timpact parameter:z0: " << t->dz() << std::endl;
468  std::cout << "\tAzimuthal angle of point of closest approach:" << t->phi() << std::endl;
469  std::cout << "\tcharge: " << t->charge() << std::endl;
470  std::cout << "\teta: " << t->eta() << std::endl;
471  std::cout << "\tnormalizedChi2: " << t->normalizedChi2() << std::endl;
472 
473  recnhit = t->numberOfValidHits();
474  recchiq = t->normalizedChi2();
475  rectheta = t->theta();
476  reccottheta = 1. / tan(rectheta);
477  //receta=-log(tan(rectheta/2.));
478  receta = t->momentum().eta();
479  // reccostheta=cos(matchedrectrack->momentum().theta());
480  recphi = t->phi();
481  recpt = t->pt();
482  ptused.push_back(recpt);
483  recd0 = t->d0();
484  recz0 = t->dz();
485 
486  std::cout << "5) After call to associator: the best match has " << recnhit << " hits, Chi2 = " << recchiq
487  << ", pt at vertex = " << recpt << " GeV/c, "
488  << ", recd0 = " << recd0 << ", recz0= " << recz0 << std::endl;
489 
490  respt = recpt - pt;
491  resd0 = recd0 - d0;
492  resz0 = recz0 - z0;
493  reseta = receta - eta;
494  resphi = recphi - phi;
496  eff = 1;
497 
498  std::cout << "6) Transverse momentum residual=" << respt << " ,d0 residual=" << resd0
499  << " ,z0 residual=" << resz0 << " with eff=" << eff << std::endl;
500 
501  if (ZmassSelection_) {
502  if (abs(trackType) == 13) {
503  std::cout << " TRACCIA RECO DI MUONI " << std::endl;
504  flagrec = 0;
505  countrec = countpartrec[0];
506  countpartrec[0]++;
507  } else if (abs(trackType) == 11) {
508  std::cout << " TRACCIA RECO DI ELETTRONI " << std::endl;
509  flagrec = 1;
510  countrec = countpartrec[1];
511  countpartrec[1]++;
512  }
513 
514  recp[flagrec][countrec] = sqrt(t->momentum().mag2());
515  recpx[flagrec][countrec] = t->momentum().x();
516  recpy[flagrec][countrec] = t->momentum().y();
517  recpz[flagrec][countrec] = t->momentum().z();
518  recptmu[flagrec][countrec] =
519  sqrt((t->momentum().x() * t->momentum().x()) + (t->momentum().y() * t->momentum().y()));
520  if (abs(trackType) == 13)
521  recene[flagrec][countrec] = sqrt(recp[flagrec][countrec] * recp[flagrec][countrec] + 0.105 * 0.105);
522  if (abs(trackType) == 11)
523  recene[flagrec][countrec] = sqrt(recp[flagrec][countrec] * recp[flagrec][countrec] + 0.0005 * 0.0005);
524  }
525 
526  std::cout << "7) Transverse momentum reconstructed =" << recpt << " at eta= " << receta
527  << " and phi= " << recphi << std::endl;
528  }
529  } else {
530  edm::LogVerbatim("TrackValidator")
531  << "TrackingParticle #" << st << " with pt=" << sqrt(tp->momentum().perp2())
532  << " NOT associated to any reco::Track"
533  << "\n";
534  receta = -100.;
535  recphi = -100.;
536  recpt = -100.;
537  recd0 = -100.;
538  recz0 = -100;
539  respt = -100.;
540  resd0 = -100.;
541  resz0 = -100.;
542  resphi = -100.;
543  reseta = -100.;
544  rescottheta = -100.;
545  recnhit = 100;
546  recchiq = -100;
547  eff = 0;
548  flagrec = 100;
549  }
550 
551  std::cout << "Eff=" << eff << std::endl;
552 
553  // simulated muons
554 
555  std::cout << "Flag is" << flag << std::endl;
556  std::cout << "RecFlag is" << flagrec << std::endl;
557 
558  if (countpart[0] == 2 && flag == 0) {
559  mzmu =
560  sqrt((ene[0][0] + ene[0][1]) * (ene[0][0] + ene[0][1]) - (px[0][0] + px[0][1]) * (px[0][0] + px[0][1]) -
561  (py[0][0] + py[0][1]) * (py[0][0] + py[0][1]) - (pz[0][0] + pz[0][1]) * (pz[0][0] + pz[0][1]));
562  std::cout << "Mzmu " << mzmu << std::endl;
563  ptzmu = sqrt((px[0][0] + px[0][1]) * (px[0][0] + px[0][1]) + (py[0][0] + py[0][1]) * (py[0][0] + py[0][1]));
564 
565  pLzmu = pz[0][0] + pz[0][1];
566  enezmu = ene[0][0] + ene[0][1];
567  phizmu = atan2((py[0][0] + py[0][1]), (px[0][0] + px[0][1]));
568  thetazmu = atan2(ptzmu, (pz[0][0] + pz[0][1]));
569  etazmu = -log(tan(thetazmu * 3.14 / 360.));
570  yzmu = 0.5 * log((enezmu + pLzmu) / (enezmu - pLzmu));
571  mxptmu = std::max(ptmu[0][0], ptmu[0][1]);
572  minptmu = std::min(ptmu[0][0], ptmu[0][1]);
573  } else {
574  mzmu = -100.;
575  ptzmu = -100.;
576  pLzmu = -100.;
577  enezmu = -100.;
578  etazmu = -100.;
579  phizmu = -100.;
580  thetazmu = -100.;
581  yzmu = -100.;
582  mxptmu = -100.;
583  minptmu = -100.;
584  }
585 
586  // reconstructed muons
587  if (countpartrec[0] == 2 && flagrec == 0) {
588  recmzmu = sqrt((recene[0][0] + recene[0][1]) * (recene[0][0] + recene[0][1]) -
589  (recpx[0][0] + recpx[0][1]) * (recpx[0][0] + recpx[0][1]) -
590  (recpy[0][0] + recpy[0][1]) * (recpy[0][0] + recpy[0][1]) -
591  (recpz[0][0] + recpz[0][1]) * (recpz[0][0] + recpz[0][1]));
592  std::cout << "RecMzmu " << recmzmu << std::endl;
593  recptzmu = sqrt((recpx[0][0] + recpx[0][1]) * (recpx[0][0] + recpx[0][1]) +
594  (recpy[0][0] + recpy[0][1]) * (recpy[0][0] + recpy[0][1]));
595 
596  recpLzmu = recpz[0][0] + recpz[0][1];
597  recenezmu = recene[0][0] + recene[0][1];
598  recphizmu = atan2((recpy[0][0] + recpy[0][1]), (recpx[0][0] + recpx[0][1]));
599  recthetazmu = atan2(recptzmu, (recpz[0][0] + recpz[0][1]));
600  recetazmu = -log(tan(recthetazmu * 3.14 / 360.));
601  recyzmu = 0.5 * log((recenezmu + recpLzmu) / (recenezmu - recpLzmu));
602  recmxptmu = std::max(recptmu[0][0], recptmu[0][1]);
603  recminptmu = std::min(recptmu[0][0], recptmu[0][1]);
604  } else {
605  recmzmu = -100.;
606  recptzmu = -100.;
607  recpLzmu = -100.;
608  recenezmu = -100.;
609  recetazmu = -100.;
610  recphizmu = -100.;
611  recthetazmu = -100.;
612  recyzmu = -100.;
613  recmxptmu = -100;
614  recminptmu = -100.;
615  }
616 
617  tree_eff->Fill();
618 
619  } // end of loop on muons
620  } // end of loop for tracking particle
621  } // end of loop for efficiency
622 
623  //
624  // Fake Rate
625  //
626  if (selection_fake) {
627  std::cout << "Computing Fake Rate" << std::endl;
628 
629  fakeeta = 0., faketheta = 0., fakephi = 0., fakept = 0., fakecottheta = 0., fakecostheta = 0.;
630  faked0 = 0., fakez0 = 0.;
631  fakenhit = 0;
632  fakereceta = 0., fakerectheta = 0., fakerecphi = 0., fakerecpt = 0., fakereccottheta = 0., fakerecd0 = 0.,
633  fakerecz0 = 0.;
634  fakerespt = 0., fakeresd0 = 0., fakeresz0 = 0., fakereseta = 0., fakeresphi = 0., fakerescottheta = 0.;
635  fakerecchiq = 0.;
636  fakerecnhit = 0;
637  faketrackType = 0;
638  fake = 0;
639 
640  // int at=0;
641  int rT = 0;
642  for (reco::TrackCollection::size_type i = 0; i < tC.size(); ++i) {
643  edm::RefToBase<reco::Track> track(trackCollection, i);
644  rT++;
645 
646  fakeeta = 0., faketheta = 0., fakephi = 0., fakept = 0., fakecottheta = 0., fakecostheta = 0.;
647  faked0 = 0., fakez0 = 0.;
648  fakenhit = 0;
649  fakereceta = 0., fakerectheta = 0., fakerecphi = 0., fakerecpt = 0., fakereccottheta = 0., fakerecd0 = 0.,
650  fakerecz0 = 0.;
651  fakerespt = 0., fakeresd0 = 0., fakeresz0 = 0., fakereseta = 0., fakeresphi = 0., fakerescottheta = 0.;
652  fakerecchiq = 0.;
653  fakerecnhit = 0;
654  faketrackType = 0;
655  fake = 0;
656 
657  fakerecnhit = track->numberOfValidHits();
658  fakerecchiq = track->normalizedChi2();
659  fakerectheta = track->theta();
660  fakereccottheta = 1. / tan(rectheta);
661  //fakereceta=-log(tan(rectheta/2.));
662  fakereceta = track->momentum().eta();
663  // fakereccostheta=cos(track->momentum().theta());
664  fakerecphi = track->phi();
665  fakerecpt = track->pt();
666  fakerecd0 = track->d0();
667  fakerecz0 = track->dz();
668 
669  std::cout << "1) Before assoc: TkRecTrack at eta = " << fakereceta << std::endl;
670  std::cout << "Track number " << i << std::endl;
671  std::cout << "\tPT: " << track->pt() << std::endl;
672  std::cout << "\timpact parameter:d0: " << track->d0() << std::endl;
673  std::cout << "\timpact parameter:z0: " << track->dz() << std::endl;
674  std::cout << "\tAzimuthal angle of point of closest approach:" << track->phi() << std::endl;
675  std::cout << "\tcharge: " << track->charge() << std::endl;
676  std::cout << "\teta: " << track->eta() << std::endl;
677  std::cout << "\tnormalizedChi2: " << track->normalizedChi2() << std::endl;
678 
679  std::vector<std::pair<TrackingParticleRef, double> > tp;
680 
681  //Compute fake rate vs eta
682  if (recSimColl.find(track) != recSimColl.end()) {
683  tp = recSimColl[track];
684  if (!tp.empty()) {
685  edm::LogVerbatim("TrackValidator") << "reco::Track #" << rT << " with pt=" << track->pt()
686  << " associated with quality:" << tp.begin()->second << "\n";
687 
688  TrackingParticleRef tpr = tp.begin()->first;
689  const SimTrack* fakeassocTrack = &(*tpr->g4Track_begin());
690 
692  iSetup.get<IdealMagneticFieldRecord>().get(theMF);
693  FreeTrajectoryState ftsAtProduction(
694  GlobalPoint(tpr->vertex().x(), tpr->vertex().y(), tpr->vertex().z()),
695  GlobalVector(
696  fakeassocTrack->momentum().x(), fakeassocTrack->momentum().y(), fakeassocTrack->momentum().z()),
697  TrackCharge(tpr->charge()),
698  theMF.product());
699  TSCPBuilderNoMaterial tscpBuilder;
700  TrajectoryStateClosestToPoint tsAtClosestApproach =
701  tscpBuilder(ftsAtProduction, GlobalPoint(0, 0, 0)); //as in TrackProducerAlgorithm
702  GlobalPoint v = tsAtClosestApproach.theState().position();
703  GlobalVector p = tsAtClosestApproach.theState().momentum();
704 
705  // double qoverpSim = tsAtClosestApproach.charge()/p.mag();
706  // double lambdaSim = M_PI/2-p.theta();
707  // double phiSim = p.phi();
708  double dxySim = (-v.x() * sin(p.phi()) + v.y() * cos(p.phi()));
709  double dszSim = v.z() * p.perp() / p.mag() - (v.x() * p.x() + v.y() * p.y()) / p.perp() * p.z() / p.mag();
710  faked0 = float(-dxySim);
711  fakez0 = float(dszSim * p.mag() / p.perp());
712 
713  faketrackType = fakeassocTrack->type();
714  faketheta = fakeassocTrack->momentum().theta();
715  fakecottheta = 1. / tan(faketheta);
716  fakeeta = fakeassocTrack->momentum().eta();
717  fakephi = fakeassocTrack->momentum().phi();
718  fakept = fakeassocTrack->momentum().pt();
719  fakenhit = tpr->matchedHit();
720 
721  std::cout << "4) After call to associator: the best SimTrack match is of type" << fakeassocTrack->type()
722  << " ,at eta = " << fakeeta << " and phi = " << fakephi << " ,with pt at vertex = " << fakept
723  << " GeV/c"
724  << " ,d0 global = " << faked0 << " ,z0 = " << fakez0 << std::endl;
725  fake = 1;
726 
730  fakereseta = -log(tan(fakerectheta / 2.)) - (-log(tan(faketheta / 2.)));
733  }
734  } else {
735  edm::LogVerbatim("TrackValidator")
736  << "reco::Track #" << rT << " with pt=" << track->pt() << " NOT associated to any TrackingParticle"
737  << "\n";
738 
739  fakeeta = -100.;
740  faketheta = -100;
741  fakephi = -100.;
742  fakept = -100.;
743  faked0 = -100.;
744  fakez0 = -100;
745  fakerespt = -100.;
746  fakeresd0 = -100.;
747  fakeresz0 = -100.;
748  fakeresphi = -100.;
749  fakereseta = -100.;
750  fakerescottheta = -100.;
751  fakenhit = 100;
752  fake = 0;
753  }
754 
755  tree_fake->Fill();
756  }
757 
758  } // End of loop on fakerate
759 
760  w++;
761 
762  } // End of loop on associators
763 }
RunNumber_t run() const
Definition: EventID.h:38
EventNumber_t event() const
Definition: EventID.h:40
T perp() const
Definition: PV3DBase.h:69
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:590
const double w
Definition: UKUtility.cc:23
std::vector< TrackingParticle > TrackingParticleCollection
const_iterator end() const
last iterator over the map (read only)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:572
const FreeTrajectoryState & theState() const
double theta() const
polar angle
Definition: TrackBase.h:581
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
const_iterator find(const key_type &k) const
find element with specified reference key
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
T y() const
Definition: PV3DBase.h:60
size_type size() const
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:614
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:629
uint16_t size_type
int TrackCharge
Definition: TrackCharge.h:4
T mag() const
Definition: PV3DBase.h:64
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
T sqrt(T t)
Definition: SSEVec.h:19
double pt() const
track transverse momentum
Definition: TrackBase.h:602
T z() const
Definition: PV3DBase.h:61
int genpartIndex() const
index of the corresponding Generator particle in the Event container (-1 if no Genpart) ...
Definition: SimTrack.h:34
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
T min(T a, T b)
Definition: MathUtil.h:58
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:488
GlobalVector momentum() const
#define LogTrace(id)
std::vector< std::string > associators
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:596
std::vector< edm::InputTag > label
GlobalPoint position() const
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:34
T const * product() const
Definition: Handle.h:69
bool accepted(std::vector< std::string_view > const &, std::string_view)
edm::EventID id() const
Definition: EventBase.h:59
int type() const
particle type (HEP PDT convension)
Definition: CoreSimTrack.h:22
const math::XYZTLorentzVectorD & momentum() const
Definition: CoreSimTrack.h:19
T get() const
Definition: EventSetup.h:73
const DetContainer & detsTOB() const
int charge() const
track electric charge
Definition: TrackBase.h:575
T x() const
Definition: PV3DBase.h:59
T const * product() const
Definition: ESHandle.h:86
edm::ESHandle< MagneticField > theMF
Global3DVector GlobalVector
Definition: GlobalVector.h:10
void ValidationMisalignedTracker::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 766 of file ValidationMisalignedTracker.cc.

References gather_cfg::cout, and DEFINE_FWK_MODULE.

Referenced by o2olib.O2ORunMgr::executeJob().

766 { std::cout << "\t Misalignment analysis completed \n" << std::endl; }

Member Data Documentation

std::vector<std::string> ValidationMisalignedTracker::associators
private

Definition at line 92 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

double ValidationMisalignedTracker::chi2tmp
private

Definition at line 88 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::costheta
private

Definition at line 65 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::cottheta
private

Definition at line 65 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::count
private
int ValidationMisalignedTracker::countpart[2]
private

Definition at line 58 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::countpartrec[2]
private

Definition at line 58 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::countrec
private

Definition at line 59 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::d0
private

Definition at line 65 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::eff
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::ene[2][2]
private

Definition at line 61 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::enezmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::eta
private
float ValidationMisalignedTracker::etazmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::eventCount_
private
float ValidationMisalignedTracker::fake
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakecostheta
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::fakecottheta
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::fakecount
private

Definition at line 76 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::fakecountpart[2]
private

Definition at line 76 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::fakecountpartrec[2]
private

Definition at line 76 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::fakecountrec
private

Definition at line 76 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::fakecountsim
private

Definition at line 76 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::faked0
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeene[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakeenezmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeeta
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeetazmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::fakeflag
private

Definition at line 76 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::fakeflagrec
private

Definition at line 76 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakeminptmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakemxptmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakemzmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::fakenAssoc
private

Definition at line 84 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::fakenhit
private

Definition at line 82 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakep[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakephi
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakephizmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakepLzmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakept
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeptmu[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakeptzmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakepx[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakepy[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakepz[2][2]
private

Definition at line 77 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecchiq
private

Definition at line 85 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakereccottheta
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecd0
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecene[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecenezmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakereceta
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecetazmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecminptmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecmxptmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecmzmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::fakerecnhit
private

Definition at line 84 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecp[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecphi
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecphizmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecpLzmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecpt
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecptmu[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecptzmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecpx[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecpy[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerecpz[2][2]
private

Definition at line 78 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::fakerectheta
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::fakerecthetazmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecyzmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerecz0
private

Definition at line 83 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerescottheta
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeresd0
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakereseta
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeresphi
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakerespt
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeresz0
private

Definition at line 86 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::faketheta
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::fakethetazmu
private

Definition at line 72 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::faketrackType
private

Definition at line 80 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakeyzmu
private

Definition at line 74 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

float ValidationMisalignedTracker::fakez0
private

Definition at line 81 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

TFile* ValidationMisalignedTracker::file_
private
int ValidationMisalignedTracker::flag
private

Definition at line 59 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::flagrec
private

Definition at line 59 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::fractiontmp
private

Definition at line 89 of file ValidationMisalignedTracker.h.

int ValidationMisalignedTracker::ievt
private

Definition at line 54 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::irun
private

Definition at line 54 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

std::vector<edm::InputTag> ValidationMisalignedTracker::label
private
edm::InputTag ValidationMisalignedTracker::label_tp_effic
private

Definition at line 95 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

edm::InputTag ValidationMisalignedTracker::label_tp_fake
private

Definition at line 96 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

GlobalVector ValidationMisalignedTracker::magField
private

Definition at line 98 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::minptmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::mxptmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::mzmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::nAssoc
private

Definition at line 68 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::nhit
private

Definition at line 66 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

bool ValidationMisalignedTracker::onlyDiag
private

Definition at line 90 of file ValidationMisalignedTracker.h.

float ValidationMisalignedTracker::p[2][2]
private
float ValidationMisalignedTracker::phi
private
float ValidationMisalignedTracker::phizmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::pLzmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::pt
private
float ValidationMisalignedTracker::ptmu[2][2]
private

Definition at line 61 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

std::vector<float> ValidationMisalignedTracker::ptused
private

Definition at line 99 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::ptzmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::px[2][2]
private

Definition at line 61 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::py[2][2]
private

Definition at line 61 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::pz[2][2]
private

Definition at line 61 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recchiq
private

Definition at line 69 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::reccottheta
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recd0
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recene[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recenezmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::receta
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recetazmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recminptmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recmxptmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recmzmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

int ValidationMisalignedTracker::recnhit
private

Definition at line 68 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recp[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recphi
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recphizmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recpLzmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recpt
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recptmu[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recptzmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recpx[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recpy[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recpz[2][2]
private

Definition at line 62 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::rectheta
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::recthetazmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recyzmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::recz0
private

Definition at line 67 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::rescottheta
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::resd0
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::reseta
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::resphi
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::respt
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::resz0
private

Definition at line 70 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

std::string ValidationMisalignedTracker::rootfile_
private

Definition at line 46 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

bool ValidationMisalignedTracker::selection_eff
private

Definition at line 45 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

bool ValidationMisalignedTracker::selection_fake
private

Definition at line 45 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

std::string ValidationMisalignedTracker::simobject
private

Definition at line 44 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

bool ValidationMisalignedTracker::skip
private

Definition at line 48 of file ValidationMisalignedTracker.h.

Referenced by analyze().

edm::ESHandle<MagneticField> ValidationMisalignedTracker::theMF
private

Definition at line 91 of file ValidationMisalignedTracker.h.

Referenced by analyze().

float ValidationMisalignedTracker::theta
private

Definition at line 65 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and Tau.Tau::zImpact().

float ValidationMisalignedTracker::thetazmu
private

Definition at line 56 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

std::string ValidationMisalignedTracker::trackassociator
private

Definition at line 44 of file ValidationMisalignedTracker.h.

Referenced by ValidationMisalignedTracker().

int ValidationMisalignedTracker::trackType
private

Definition at line 64 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

TTree* ValidationMisalignedTracker::tree_eff
private
TTree* ValidationMisalignedTracker::tree_fake
private
float ValidationMisalignedTracker::yzmu
private

Definition at line 57 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

float ValidationMisalignedTracker::z0
private

Definition at line 65 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().

bool ValidationMisalignedTracker::ZmassSelection_
private

Definition at line 45 of file ValidationMisalignedTracker.h.

Referenced by analyze(), and ValidationMisalignedTracker().