CMS 3D CMS Logo

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

#include <Alignment/HIPAlignmentAlgorithm/plugins/LhcTrackAnalyzer.cc>

Inheritance diagram for LhcTrackAnalyzer:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 LhcTrackAnalyzer (const edm::ParameterSet &)
 
 ~LhcTrackAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

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

Private Attributes

std::vector< unsigned int > acceptedBX_
 
int charge_ [nMaxtracks_]
 
double chi2_ [nMaxtracks_]
 
double chi2ndof_ [nMaxtracks_]
 
bool debug_
 
double dxy_ [nMaxtracks_]
 
double dz_ [nMaxtracks_]
 
double eta_ [nMaxtracks_]
 
int event_
 
std::string filename_
 
bool goodbx_
 
bool goodvtx_
 
int isHighPurity_ [nMaxtracks_]
 
int nTracks_
 
double phi_ [nMaxtracks_]
 
double pt_ [nMaxtracks_]
 
edm::InputTag PVtxCollectionTag_
 
double qoverp_ [nMaxtracks_]
 
TFile * rootFile_
 
TTree * rootTree_
 
int run_
 
edm::EDGetTokenT< reco::TrackCollectiontheTrackCollectionToken
 
edm::EDGetTokenT< reco::VertexCollectiontheVertexCollectionToken
 
edm::InputTag TrackCollectionTag_
 
int trkAlgo_ [nMaxtracks_]
 
int trkQuality_ [nMaxtracks_]
 
int validhits_ [nMaxtracks_][7]
 
double xPCA_ [nMaxtracks_]
 
double yPCA_ [nMaxtracks_]
 
double zPCA_ [nMaxtracks_]
 

Static Private Attributes

static constexpr int nMaxtracks_ = 3000
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Originally written by M.Musich Expanded by A. Bonato

Description: Ntuplizer for collision tracks

Definition at line 43 of file LhcTrackAnalyzer.cc.

Constructor & Destructor Documentation

◆ LhcTrackAnalyzer()

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

Definition at line 98 of file LhcTrackAnalyzer.cc.

References PVtxCollectionTag_, theTrackCollectionToken, theVertexCollectionToken, and TrackCollectionTag_.

99  : TrackCollectionTag_(iConfig.getParameter<edm::InputTag>("TrackCollectionTag")),
100  PVtxCollectionTag_(iConfig.getParameter<edm::InputTag>("PVtxCollectionTag")),
101  debug_(iConfig.getParameter<bool>("Debug")),
102  acceptedBX_(iConfig.getParameter<std::vector<unsigned int>>("acceptedBX")),
103  filename_(iConfig.getParameter<std::string>("OutputFileName")) {
104  //now do what ever initialization is needed
105  theTrackCollectionToken = consumes<reco::TrackCollection>(TrackCollectionTag_);
106  theVertexCollectionToken = consumes<reco::VertexCollection>(PVtxCollectionTag_);
107 }
edm::EDGetTokenT< reco::TrackCollection > theTrackCollectionToken
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::InputTag TrackCollectionTag_
std::vector< unsigned int > acceptedBX_
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken
std::string filename_
edm::InputTag PVtxCollectionTag_

◆ ~LhcTrackAnalyzer()

LhcTrackAnalyzer::~LhcTrackAnalyzer ( )
overridedefault

Member Function Documentation

◆ analyze()

void LhcTrackAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 114 of file LhcTrackAnalyzer.cc.

References funct::abs(), acceptedBX_, reco::TrackBase::algoName(), simKBmtfDigis_cfi::bx, charge_, chi2_, chi2ndof_, reco::TrackBase::cosmics, reco::TrackBase::ctf, ztail::d, debug_, reco::TrackBase::detachedQuadStep, reco::TrackBase::detachedTripletStep, reco::TrackBase::duplicateMerge, dxy_, dz_, eta_, event_, spr::find(), goodbx_, goodvtx_, reco::TrackBase::highPtTripletStep, reco::TrackBase::highPurity, iEvent, reco::TrackBase::initialStep, isHighPurity_, reco::TrackBase::jetCoreRegionalStep, reco::TrackBase::loose, reco::TrackBase::lowPtQuadStep, reco::TrackBase::lowPtTripletStep, reco::TrackBase::mixedTripletStep, reco::TrackBase::muonSeededStepInOut, reco::TrackBase::muonSeededStepOutIn, nMaxtracks_, nTracks_, phi_, reco::TrackBase::pixelLessStep, reco::TrackBase::pixelPairStep, pt_, qoverp_, rootTree_, run_, SetVarToZero(), theTrackCollectionToken, theVertexCollectionToken, reco::TrackBase::tight, reco::TrackBase::tobTecStep, HLT_2022v15_cff::track, tracks, trkAlgo_, trkQuality_, reco::TrackBase::undefAlgorithm, reco::TrackBase::undefQuality, validhits_, AlignmentTracksFromVertexSelector_cfi::vertices, extraflags_cff::vtx, xPCA_, yPCA_, and zPCA_.

116 {
117  using namespace edm;
118  using namespace reco;
119  using namespace std;
120 
121  //=======================================================
122  // Initialize Root-tuple variables
123  //=======================================================
124 
125  SetVarToZero();
126 
127  //=======================================================
128  // Retrieve the Track information
129  //=======================================================
130 
131  const auto& vertices = iEvent.get(theVertexCollectionToken);
132  const auto& vtx = vertices.front();
133  if (vtx.isFake()) {
134  goodvtx_ = false;
135  } else {
136  goodvtx_ = true;
137  }
138 
139  int bx = iEvent.bunchCrossing();
140  if (acceptedBX_.empty()) {
141  goodbx_ = true;
142  } else {
143  if (std::find(acceptedBX_.begin(), acceptedBX_.end(), bx) != acceptedBX_.end()) {
144  goodbx_ = true;
145  }
146  }
147 
148  run_ = iEvent.id().run();
149  event_ = iEvent.id().event();
150 
151  const auto& tracks = iEvent.get(theTrackCollectionToken);
152  if (debug_) {
153  edm::LogInfo("LhcTrackAnalyzer") << "LhcTrackAnalyzer::analyze() looping over " << tracks.size() << "tracks."
154  << endl;
155  }
156 
157  for (const auto& track : tracks) {
158  if (nTracks_ >= nMaxtracks_) {
159  edm::LogWarning("LhcTrackAnalyzer")
160  << " LhcTrackAnalyzer::analyze() : Warning - Run " << run_ << " Event " << event_
161  << "\tNumber of tracks: " << tracks.size() << " , greater than " << nMaxtracks_ << std::endl;
162  continue;
163  }
164  pt_[nTracks_] = track.pt();
165  eta_[nTracks_] = track.eta();
166  phi_[nTracks_] = track.phi();
167  chi2_[nTracks_] = track.chi2();
168  chi2ndof_[nTracks_] = track.normalizedChi2();
169  charge_[nTracks_] = track.charge();
170  qoverp_[nTracks_] = track.qoverp();
171  dz_[nTracks_] = track.dz();
172  dxy_[nTracks_] = track.dxy();
173  xPCA_[nTracks_] = track.vertex().x();
174  yPCA_[nTracks_] = track.vertex().y();
175  zPCA_[nTracks_] = track.vertex().z();
176  validhits_[nTracks_][0] = track.numberOfValidHits();
177  validhits_[nTracks_][1] = track.hitPattern().numberOfValidPixelBarrelHits();
178  validhits_[nTracks_][2] = track.hitPattern().numberOfValidPixelEndcapHits();
179  validhits_[nTracks_][3] = track.hitPattern().numberOfValidStripTIBHits();
180  validhits_[nTracks_][4] = track.hitPattern().numberOfValidStripTIDHits();
181  validhits_[nTracks_][5] = track.hitPattern().numberOfValidStripTOBHits();
182  validhits_[nTracks_][6] = track.hitPattern().numberOfValidStripTECHits();
183 
184  int myalgo = -88;
185  if (track.algo() == reco::TrackBase::undefAlgorithm) {
186  myalgo = 0;
187  } else if (track.algo() == reco::TrackBase::ctf) {
188  myalgo = 1;
189  } else if (track.algo() == reco::TrackBase::duplicateMerge) {
190  myalgo = 2;
191  } else if (track.algo() == reco::TrackBase::cosmics) {
192  myalgo = 3;
193  } else if (track.algo() == reco::TrackBase::initialStep) {
194  myalgo = 4;
195  } else if (track.algo() == reco::TrackBase::lowPtTripletStep) {
196  myalgo = 5;
197  } else if (track.algo() == reco::TrackBase::pixelPairStep) {
198  myalgo = 6;
199  } else if (track.algo() == reco::TrackBase::detachedTripletStep) {
200  myalgo = 7;
201  } else if (track.algo() == reco::TrackBase::mixedTripletStep) {
202  myalgo = 8;
203  } else if (track.algo() == reco::TrackBase::pixelLessStep) {
204  myalgo = 9;
205  } else if (track.algo() == reco::TrackBase::tobTecStep) {
206  myalgo = 10;
207  } else if (track.algo() == reco::TrackBase::jetCoreRegionalStep) {
208  myalgo = 11;
209  } else if (track.algo() == reco::TrackBase::muonSeededStepInOut) {
210  myalgo = 13;
211  } else if (track.algo() == reco::TrackBase::muonSeededStepOutIn) {
212  myalgo = 14;
213  } else if (track.algo() == reco::TrackBase::highPtTripletStep) {
214  myalgo = 22;
215  } else if (track.algo() == reco::TrackBase::lowPtQuadStep) {
216  myalgo = 23;
217  } else if (track.algo() == reco::TrackBase::detachedQuadStep) {
218  myalgo = 24;
219  } else {
220  myalgo = 25;
221  edm::LogWarning("LhcTrackAnalyzer")
222  << "LhcTrackAnalyzer does not support all types of tracks, encountered one from algo "
223  << reco::TrackBase::algoName(track.algo());
224  }
225  trkAlgo_[nTracks_] = myalgo;
226 
227  int myquality = -99;
229  myquality = -1;
230  if (track.quality(reco::TrackBase::loose))
231  myquality = 0;
232  if (track.quality(reco::TrackBase::tight))
233  myquality = 1;
234  if (track.quality(reco::TrackBase::highPurity))
235  myquality = 2;
236  trkQuality_[nTracks_] = myquality;
237 
238  if (track.quality(reco::TrackBase::highPurity))
239  isHighPurity_[nTracks_] = 1;
240  else
241  isHighPurity_[nTracks_] = 0;
242  nTracks_++;
243 
244  } //end loop on tracks
245 
246  for (int d = 0; d < nTracks_; ++d) {
247  if (abs(trkQuality_[d]) > 5)
248  edm::LogInfo("LhcTrackAnalyzer") << "MYQUALITY!!! " << trkQuality_[d] << " at track # " << d << "/" << nTracks_
249  << endl;
250  }
251 
252  rootTree_->Fill();
253 }
edm::EDGetTokenT< reco::TrackCollection > theTrackCollectionToken
int validhits_[nMaxtracks_][7]
int isHighPurity_[nMaxtracks_]
double dz_[nMaxtracks_]
double zPCA_[nMaxtracks_]
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
int trkQuality_[nMaxtracks_]
double qoverp_[nMaxtracks_]
std::vector< unsigned int > acceptedBX_
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken
double eta_[nMaxtracks_]
int iEvent
Definition: GenABIO.cc:224
double phi_[nMaxtracks_]
double chi2ndof_[nMaxtracks_]
double yPCA_[nMaxtracks_]
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static constexpr int nMaxtracks_
double dxy_[nMaxtracks_]
d
Definition: ztail.py:151
std::string algoName() const
Definition: TrackBase.h:550
Log< level::Info, false > LogInfo
int trkAlgo_[nMaxtracks_]
auto const & tracks
cannot be loose
double xPCA_[nMaxtracks_]
fixed size matrix
HLT enums.
double chi2_[nMaxtracks_]
int charge_[nMaxtracks_]
Log< level::Warning, false > LogWarning
double pt_[nMaxtracks_]

◆ beginJob()

void LhcTrackAnalyzer::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 256 of file LhcTrackAnalyzer.cc.

References charge_, chi2_, chi2ndof_, dxy_, dz_, eta_, event_, filename_, goodbx_, goodvtx_, isHighPurity_, nTracks_, phi_, pt_, qoverp_, rootFile_, rootTree_, run_, trkAlgo_, trkQuality_, validhits_, xPCA_, yPCA_, and zPCA_.

258 {
259  edm::LogInfo("beginJob") << "Begin Job" << std::endl;
260  // Define TTree for output
261  rootFile_ = new TFile(filename_.c_str(), "recreate");
262  rootTree_ = new TTree("tree", "Lhc Track tree");
263 
264  // Track Paramters
265  rootTree_->Branch("run", &run_, "run/I");
266  rootTree_->Branch("event", &event_, "event/I");
267  rootTree_->Branch("goodbx", &goodbx_, "goodbx/O");
268  rootTree_->Branch("goodvtx", &goodvtx_, "goodvtx/O");
269  rootTree_->Branch("nTracks", &nTracks_, "nTracks/I");
270  rootTree_->Branch("pt", &pt_, "pt[nTracks]/D");
271  rootTree_->Branch("eta", &eta_, "eta[nTracks]/D");
272  rootTree_->Branch("phi", &phi_, "phi[nTracks]/D");
273  rootTree_->Branch("chi2", &chi2_, "chi2[nTracks]/D");
274  rootTree_->Branch("chi2ndof", &chi2ndof_, "chi2ndof[nTracks]/D");
275  rootTree_->Branch("charge", &charge_, "charge[nTracks]/I");
276  rootTree_->Branch("qoverp", &qoverp_, "qoverp[nTracks]/D");
277  rootTree_->Branch("dz", &dz_, "dz[nTracks]/D");
278  rootTree_->Branch("dxy", &dxy_, "dxy[nTracks]/D");
279  rootTree_->Branch("xPCA", &xPCA_, "xPCA[nTracks]/D");
280  rootTree_->Branch("yPCA", &yPCA_, "yPCA[nTracks]/D");
281  rootTree_->Branch("zPCA", &zPCA_, "zPCA[nTracks]/D");
282  rootTree_->Branch("isHighPurity", &isHighPurity_, "isHighPurity[nTracks]/I");
283  rootTree_->Branch("trkQuality", &trkQuality_, "trkQuality[nTracks]/I");
284  rootTree_->Branch("trkAlgo", &trkAlgo_, "trkAlgo[nTracks]/I");
285  rootTree_->Branch("nValidHits", &validhits_, "nValidHits[nTracks][7]/I");
286 }
int validhits_[nMaxtracks_][7]
int isHighPurity_[nMaxtracks_]
double dz_[nMaxtracks_]
double zPCA_[nMaxtracks_]
int trkQuality_[nMaxtracks_]
double qoverp_[nMaxtracks_]
double eta_[nMaxtracks_]
std::string filename_
double phi_[nMaxtracks_]
double chi2ndof_[nMaxtracks_]
double yPCA_[nMaxtracks_]
double dxy_[nMaxtracks_]
Log< level::Info, false > LogInfo
int trkAlgo_[nMaxtracks_]
double xPCA_[nMaxtracks_]
double chi2_[nMaxtracks_]
int charge_[nMaxtracks_]
double pt_[nMaxtracks_]

◆ endJob()

void LhcTrackAnalyzer::endJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 289 of file LhcTrackAnalyzer.cc.

References rootFile_.

Referenced by o2olib.O2ORunMgr::executeJob().

291 {
292  if (rootFile_) {
293  rootFile_->Write();
294  rootFile_->Close();
295  }
296 }

◆ fillDescriptions()

void LhcTrackAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 299 of file LhcTrackAnalyzer.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, HLT_2022v15_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

301 {
303  desc.setComment("Ntuplizer for LHC tracks");
304  desc.add<edm::InputTag>("TrackCollectionTag", edm::InputTag("ALCARECOTkAlMinBias"));
305  desc.add<edm::InputTag>("PVtxCollectionTag", edm::InputTag("offlinePrimaryVertices"));
306  desc.add<bool>("Debug", false);
307  desc.add<std::vector<unsigned int>>("acceptedBX", {});
308  desc.add<std::string>("OutputFileName", "LhcTrackAnalyzer_Output_default.root");
309  descriptions.addWithDefaultLabel(desc);
310 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ SetVarToZero()

void LhcTrackAnalyzer::SetVarToZero ( )
private

Definition at line 313 of file LhcTrackAnalyzer.cc.

References charge_, chi2_, chi2ndof_, dxy_, dz_, eta_, event_, mps_fire::i, isHighPurity_, dqmiolumiharvest::j, nMaxtracks_, nTracks_, phi_, pt_, qoverp_, run_, trkAlgo_, trkQuality_, validhits_, xPCA_, yPCA_, and zPCA_.

Referenced by analyze().

315 {
316  run_ = -1;
317  event_ = -99;
318  nTracks_ = 0;
319  for (int i = 0; i < nMaxtracks_; ++i) {
320  pt_[i] = 0;
321  eta_[i] = 0;
322  phi_[i] = 0;
323  chi2_[i] = 0;
324  chi2ndof_[i] = 0;
325  charge_[i] = 0;
326  qoverp_[i] = 0;
327  dz_[i] = 0;
328  dxy_[i] = 0;
329  xPCA_[i] = 0;
330  yPCA_[i] = 0;
331  zPCA_[i] = 0;
332  trkQuality_[i] = 0;
333  trkAlgo_[i] = -1;
334  isHighPurity_[i] = -3;
335  for (int j = 0; j < 7; j++) {
336  validhits_[nTracks_][j] = -1 * j;
337  }
338  }
339 }
int validhits_[nMaxtracks_][7]
int isHighPurity_[nMaxtracks_]
double dz_[nMaxtracks_]
double zPCA_[nMaxtracks_]
int trkQuality_[nMaxtracks_]
double qoverp_[nMaxtracks_]
double eta_[nMaxtracks_]
double phi_[nMaxtracks_]
double chi2ndof_[nMaxtracks_]
double yPCA_[nMaxtracks_]
static constexpr int nMaxtracks_
double dxy_[nMaxtracks_]
int trkAlgo_[nMaxtracks_]
double xPCA_[nMaxtracks_]
double chi2_[nMaxtracks_]
int charge_[nMaxtracks_]
double pt_[nMaxtracks_]

Member Data Documentation

◆ acceptedBX_

std::vector<unsigned int> LhcTrackAnalyzer::acceptedBX_
private

Definition at line 58 of file LhcTrackAnalyzer.cc.

Referenced by analyze().

◆ charge_

int LhcTrackAnalyzer::charge_[nMaxtracks_]
private

Definition at line 81 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ chi2_

double LhcTrackAnalyzer::chi2_[nMaxtracks_]
private

Definition at line 79 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ chi2ndof_

double LhcTrackAnalyzer::chi2ndof_[nMaxtracks_]
private

Definition at line 80 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ debug_

bool LhcTrackAnalyzer::debug_
private

Definition at line 57 of file LhcTrackAnalyzer.cc.

Referenced by analyze().

◆ dxy_

double LhcTrackAnalyzer::dxy_[nMaxtracks_]
private

Definition at line 84 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ dz_

double LhcTrackAnalyzer::dz_[nMaxtracks_]
private

Definition at line 83 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ eta_

double LhcTrackAnalyzer::eta_[nMaxtracks_]
private

Definition at line 77 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ event_

int LhcTrackAnalyzer::event_
private

Definition at line 75 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ filename_

std::string LhcTrackAnalyzer::filename_
private

Definition at line 64 of file LhcTrackAnalyzer.cc.

Referenced by beginJob().

◆ goodbx_

bool LhcTrackAnalyzer::goodbx_
private

Definition at line 92 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ goodvtx_

bool LhcTrackAnalyzer::goodvtx_
private

Definition at line 93 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ isHighPurity_

int LhcTrackAnalyzer::isHighPurity_[nMaxtracks_]
private

Definition at line 90 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ nMaxtracks_

constexpr int LhcTrackAnalyzer::nMaxtracks_ = 3000
staticprivate

Definition at line 72 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and SetVarToZero().

◆ nTracks_

int LhcTrackAnalyzer::nTracks_
private

Definition at line 73 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ phi_

double LhcTrackAnalyzer::phi_[nMaxtracks_]
private

Definition at line 78 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ pt_

double LhcTrackAnalyzer::pt_[nMaxtracks_]
private

Definition at line 76 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ PVtxCollectionTag_

edm::InputTag LhcTrackAnalyzer::PVtxCollectionTag_
private

Definition at line 56 of file LhcTrackAnalyzer.cc.

Referenced by LhcTrackAnalyzer().

◆ qoverp_

double LhcTrackAnalyzer::qoverp_[nMaxtracks_]
private

Definition at line 82 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ rootFile_

TFile* LhcTrackAnalyzer::rootFile_
private

Definition at line 65 of file LhcTrackAnalyzer.cc.

Referenced by beginJob(), and endJob().

◆ rootTree_

TTree* LhcTrackAnalyzer::rootTree_
private

Definition at line 66 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ run_

int LhcTrackAnalyzer::run_
private

Definition at line 74 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ theTrackCollectionToken

edm::EDGetTokenT<reco::TrackCollection> LhcTrackAnalyzer::theTrackCollectionToken
private

Definition at line 60 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and LhcTrackAnalyzer().

◆ theVertexCollectionToken

edm::EDGetTokenT<reco::VertexCollection> LhcTrackAnalyzer::theVertexCollectionToken
private

Definition at line 61 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), and LhcTrackAnalyzer().

◆ TrackCollectionTag_

edm::InputTag LhcTrackAnalyzer::TrackCollectionTag_
private

Definition at line 55 of file LhcTrackAnalyzer.cc.

Referenced by LhcTrackAnalyzer().

◆ trkAlgo_

int LhcTrackAnalyzer::trkAlgo_[nMaxtracks_]
private

Definition at line 88 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ trkQuality_

int LhcTrackAnalyzer::trkQuality_[nMaxtracks_]
private

Definition at line 89 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ validhits_

int LhcTrackAnalyzer::validhits_[nMaxtracks_][7]
private

Definition at line 91 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ xPCA_

double LhcTrackAnalyzer::xPCA_[nMaxtracks_]
private

Definition at line 85 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ yPCA_

double LhcTrackAnalyzer::yPCA_[nMaxtracks_]
private

Definition at line 86 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().

◆ zPCA_

double LhcTrackAnalyzer::zPCA_[nMaxtracks_]
private

Definition at line 87 of file LhcTrackAnalyzer.cc.

Referenced by analyze(), beginJob(), and SetVarToZero().