CMS 3D CMS Logo

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

#include <dEdxAnalyzer.h>

Inheritance diagram for dEdxAnalyzer:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  dEdxMEs
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 dEdxAnalyzer (const edm::ParameterSet &)
 
double mass (double P, double I)
 
 ~dEdxAnalyzer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Private Attributes

std::vector< std::string > AlgoNames
 
edm::ParameterSet conf_
 
double dEdxC
 
std::vector< std::string > dEdxInputList_
 
double dEdxK
 
std::vector< dEdxMEsdEdxMEsVector
 
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
 
bool doAllPlots_
 
bool doDeDxPlots_
 
DQMStoredqmStore_
 
edm::ParameterSet fullconf_
 
GenericTriggerEventFlaggenTriggerEventFlag_
 
double HighPtThreshold
 
double HIPdEdxMin
 
std::string histname
 
double TrackHitMin
 
edm::InputTag trackInputTag_
 
std::string TrackName
 
edm::EDGetTokenT< reco::TrackCollectiontrackToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Monitoring source for general quantities related to track dEdx.

Definition at line 28 of file dEdxAnalyzer.h.

Constructor & Destructor Documentation

◆ dEdxAnalyzer()

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

Definition at line 18 of file dEdxAnalyzer.cc.

References conf_, dEdxInputList_, dEdxTokenList_, edm::ParameterSet::getParameter(), HLT_2022v15_cff::InputTag, AlCaHLTBitMon_QueryRunRegistry::string, makeGlobalPositionRcd_cfg::tag, trackInputTag_, and trackToken_.

20  fullconf_(iConfig),
21  conf_(fullconf_.getParameter<edm::ParameterSet>("dEdxParameters")),
22  doAllPlots_(conf_.getParameter<bool>("doAllPlots")),
23  doDeDxPlots_(conf_.getParameter<bool>("doDeDxPlots")),
25  conf_.getParameter<edm::ParameterSet>("genericTriggerEventPSet"), consumesCollector(), *this)) {
27  trackToken_ = consumes<reco::TrackCollection>(trackInputTag_);
28 
29  dEdxInputList_ = conf_.getParameter<std::vector<std::string> >("deDxProducers");
30  for (auto const& tag : dEdxInputList_) {
31  dEdxTokenList_.push_back(consumes<reco::DeDxDataValueMap>(edm::InputTag(tag)));
32  }
33 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:72
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:44
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:74
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:82
edm::ParameterSet fullconf_
Definition: dEdxAnalyzer.h:43
bool doAllPlots_
Definition: dEdxAnalyzer.h:46
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:47
edm::InputTag trackInputTag_
Definition: dEdxAnalyzer.h:71
DQMStore * dqmStore_
Definition: dEdxAnalyzer.h:42
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:75

◆ ~dEdxAnalyzer()

dEdxAnalyzer::~dEdxAnalyzer ( )
override

Definition at line 35 of file dEdxAnalyzer.cc.

References genTriggerEventFlag_.

35  {
37  delete genTriggerEventFlag_;
38 }
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:82

Member Function Documentation

◆ analyze()

void dEdxAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 142 of file dEdxAnalyzer.cc.

References GenericTriggerEventFlag::accept(), plot_hgcal_utils::dEdx, dEdxInputList_, dEdxMEsVector, dEdxTokenList_, doAllPlots_, doDeDxPlots_, genTriggerEventFlag_, HighPtThreshold, reco::TrackBase::highPurity, HIPdEdxMin, mps_fire::i, iEvent, edm::HandleBase::isValid(), mass(), GenericTriggerEventFlag::on(), edm::Handle< T >::product(), submitPVValidationJobs::t, HLT_2022v15_cff::track, TrackHitMin, and trackToken_.

142  {
143  // Filter out events if Trigger Filtering is requested
145  return;
146 
147  if (doDeDxPlots_ || doAllPlots_) {
148  edm::Handle<reco::TrackCollection> trackCollectionHandle = iEvent.getHandle(trackToken_);
149  if (!trackCollectionHandle.isValid())
150  return;
151 
152  for (unsigned int i = 0; i < dEdxInputList_.size(); i++) {
153  edm::Handle<reco::DeDxDataValueMap> dEdxObjectHandle = iEvent.getHandle(dEdxTokenList_[i]);
154  if (!dEdxObjectHandle.isValid())
155  continue;
156  const edm::ValueMap<reco::DeDxData> dEdxColl = *dEdxObjectHandle.product();
157 
158  for (unsigned int t = 0; t < trackCollectionHandle->size(); t++) {
159  reco::TrackRef track = reco::TrackRef(trackCollectionHandle, t);
160 
161  if (track->quality(reco::TrackBase::highPurity)) {
162  //MIPs
163  if (track->pt() >= 5.0 && track->numberOfValidHits() > TrackHitMin) {
164  dEdxMEsVector[i].ME_MipDeDx->Fill(dEdxColl[track].dEdx());
165  dEdxMEsVector[i].ME_MipDeDxNHits->Fill(dEdxColl[track].numberOfMeasurements());
166  if (dEdxColl[track].numberOfMeasurements() != 0)
167  dEdxMEsVector[i].ME_MipDeDxNSatHits->Fill((1.0 * dEdxColl[track].numberOfSaturatedMeasurements()) /
168  dEdxColl[track].numberOfMeasurements());
169  dEdxMEsVector[i].ME_MipDeDxMass->Fill(mass(track->p(), dEdxColl[track].dEdx()));
170 
171  if (track->pt() >= HighPtThreshold) {
172  dEdxMEsVector[i].ME_MipHighPtDeDx->Fill(dEdxColl[track].dEdx());
173  dEdxMEsVector[i].ME_MipHighPtDeDxNHits->Fill(dEdxColl[track].numberOfMeasurements());
174  }
175 
176  //HighlyIonizing particles
177  } else if (track->pt() < 2 && dEdxColl[track].dEdx() > HIPdEdxMin) {
178  dEdxMEsVector[i].ME_HipDeDxMass->Fill(mass(track->p(), dEdxColl[track].dEdx()));
179  }
180  }
181  }
182  }
183  }
184 }
double HighPtThreshold
Definition: dEdxAnalyzer.h:68
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:72
double TrackHitMin
Definition: dEdxAnalyzer.h:68
T const * product() const
Definition: Handle.h:70
int iEvent
Definition: GenABIO.cc:224
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:74
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:82
bool doAllPlots_
Definition: dEdxAnalyzer.h:46
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:47
double mass(double P, double I)
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
double HIPdEdxMin
Definition: dEdxAnalyzer.h:68
bool isValid() const
Definition: HandleBase.h:70
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:75
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:79

◆ bookHistograms()

void dEdxAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 51 of file dEdxAnalyzer.cc.

References dqm::implementation::IBooker::book1D(), conf_, dEdxAnalyzer_cfi::dEdxBin, dEdxC, dEdxAnalyzer_cfi::dEdxHIPmassBin, dEdxAnalyzer_cfi::dEdxHIPmassMax, dEdxAnalyzer_cfi::dEdxHIPmassMin, dEdxInputList_, dEdxK, dEdxAnalyzer_cfi::dEdxMax, dEdxMEsVector, dEdxAnalyzer_cfi::dEdxMin, dEdxAnalyzer_cfi::dEdxMIPmassBin, dEdxAnalyzer_cfi::dEdxMIPmassMax, dEdxAnalyzer_cfi::dEdxMIPmassMin, dEdxAnalyzer_cfi::dEdxNHitBin, dEdxAnalyzer_cfi::dEdxNHitMax, dEdxAnalyzer_cfi::dEdxNHitMin, doAllPlots_, doDeDxPlots_, genTriggerEventFlag_, edm::ParameterSet::getParameter(), HighPtThreshold, HIPdEdxMin, histname, mps_fire::i, GenericTriggerEventFlag::initRun(), GenericTriggerEventFlag::on(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and TrackHitMin.

51  {
52  // Initialize the GenericTriggerEventFlag
53  if (genTriggerEventFlag_->on())
54  genTriggerEventFlag_->initRun(iRun, iSetup);
55 
56  // parameters from the configuration
57  std::string MEFolderName = conf_.getParameter<std::string>("FolderName");
58 
59  // get binning from the configuration
60  TrackHitMin = conf_.getParameter<double>("TrackHitMin");
61  HIPdEdxMin = conf_.getParameter<double>("HIPdEdxMin");
62  HighPtThreshold = conf_.getParameter<double>("HighPtThreshold");
63 
64  dEdxK = conf_.getParameter<double>("dEdxK");
65  dEdxC = conf_.getParameter<double>("dEdxC");
66 
67  int dEdxNHitBin = conf_.getParameter<int>("dEdxNHitBin");
68  double dEdxNHitMin = conf_.getParameter<double>("dEdxNHitMin");
69  double dEdxNHitMax = conf_.getParameter<double>("dEdxNHitMax");
70 
71  int dEdxBin = conf_.getParameter<int>("dEdxBin");
72  double dEdxMin = conf_.getParameter<double>("dEdxMin");
73  double dEdxMax = conf_.getParameter<double>("dEdxMax");
74 
75  int dEdxHIPmassBin = conf_.getParameter<int>("dEdxHIPmassBin");
76  double dEdxHIPmassMin = conf_.getParameter<double>("dEdxHIPmassMin");
77  double dEdxHIPmassMax = conf_.getParameter<double>("dEdxHIPmassMax");
78 
79  int dEdxMIPmassBin = conf_.getParameter<int>("dEdxMIPmassBin");
80  double dEdxMIPmassMin = conf_.getParameter<double>("dEdxMIPmassMin");
81  double dEdxMIPmassMax = conf_.getParameter<double>("dEdxMIPmassMax");
82 
83  ibooker.setCurrentFolder(MEFolderName);
84 
85  // book the Hit Property histograms
86  // ---------------------------------------------------------------------------------//
87 
88  if (doDeDxPlots_ || doAllPlots_) {
89  for (unsigned int i = 0; i < dEdxInputList_.size(); i++) {
90  ibooker.setCurrentFolder(MEFolderName + "/" + dEdxInputList_[i]);
91  dEdxMEsVector.push_back(dEdxMEs());
92 
93  histname = "MIP_dEdxPerTrack_";
94  dEdxMEsVector[i].ME_MipDeDx = ibooker.book1D(histname, histname, dEdxBin, dEdxMin, dEdxMax);
95  dEdxMEsVector[i].ME_MipDeDx->setAxisTitle("dEdx of each MIP Track (MeV/cm)");
96  dEdxMEsVector[i].ME_MipDeDx->setAxisTitle("Number of Tracks", 2);
97 
98  histname = "MIP_NumberOfdEdxHitsPerTrack_";
99  dEdxMEsVector[i].ME_MipDeDxNHits = ibooker.book1D(histname, histname, dEdxNHitBin, dEdxNHitMin, dEdxNHitMax);
100  dEdxMEsVector[i].ME_MipDeDxNHits->setAxisTitle("Number of dEdxHits of each MIP Track");
101  dEdxMEsVector[i].ME_MipDeDxNHits->setAxisTitle("Number of Tracks", 2);
102 
103  histname = "MIP_FractionOfSaturateddEdxHitsPerTrack_";
104  dEdxMEsVector[i].ME_MipDeDxNSatHits = ibooker.book1D(histname, histname, 2 * dEdxNHitBin, 0, 1);
105  dEdxMEsVector[i].ME_MipDeDxNSatHits->setAxisTitle("Fraction of Saturated dEdxHits of each MIP Track");
106  dEdxMEsVector[i].ME_MipDeDxNSatHits->setAxisTitle("Number of Tracks", 2);
107 
108  histname = "MIP_MassPerTrack_";
109  dEdxMEsVector[i].ME_MipDeDxMass =
111  dEdxMEsVector[i].ME_MipDeDxMass->setAxisTitle("dEdx Mass of each MIP Track (GeV/c^{2})");
112  dEdxMEsVector[i].ME_MipDeDxMass->setAxisTitle("Number of Tracks", 2);
113 
114  histname = "HIP_MassPerTrack_";
115  dEdxMEsVector[i].ME_HipDeDxMass =
117  dEdxMEsVector[i].ME_HipDeDxMass->setAxisTitle("dEdx Mass of each HIP Track (GeV/c^{2})");
118  dEdxMEsVector[i].ME_HipDeDxMass->setAxisTitle("Number of Tracks", 2);
119 
120  histname = "MIPOfHighPt_dEdxPerTrack_";
121  dEdxMEsVector[i].ME_MipHighPtDeDx = ibooker.book1D(histname, histname, dEdxBin, dEdxMin, dEdxMax);
122  dEdxMEsVector[i].ME_MipHighPtDeDx->setAxisTitle("dEdx of each MIP (of High pT) Track (MeV/cm)");
123  dEdxMEsVector[i].ME_MipHighPtDeDx->setAxisTitle("Number of Tracks", 2);
124 
125  histname = "MIPOfHighPt_NumberOfdEdxHitsPerTrack_";
126  dEdxMEsVector[i].ME_MipHighPtDeDxNHits =
128  dEdxMEsVector[i].ME_MipHighPtDeDxNHits->setAxisTitle("Number of dEdxHits of each MIP (of High pT) Track");
129  dEdxMEsVector[i].ME_MipHighPtDeDxNHits->setAxisTitle("Number of Tracks", 2);
130  }
131  }
132 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
double HighPtThreshold
Definition: dEdxAnalyzer.h:68
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
double dEdxC
Definition: dEdxAnalyzer.h:69
double TrackHitMin
Definition: dEdxAnalyzer.h:68
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:44
double dEdxK
Definition: dEdxAnalyzer.h:69
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:74
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:82
bool doAllPlots_
Definition: dEdxAnalyzer.h:46
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:47
double HIPdEdxMin
Definition: dEdxAnalyzer.h:68
std::string histname
Definition: dEdxAnalyzer.h:80
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:79
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ fillDescriptions()

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

Definition at line 187 of file dEdxAnalyzer.cc.

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

187  {
188  //The following says we do not know what parameters are allowed so do no validation
189  // Please change this to state exactly what you do use, even if it is no parameters
191  desc.setUnknown();
192  descriptions.addDefault(desc);
193 }
void addDefault(ParameterSetDescription const &psetDescription)

◆ mass()

double dEdxAnalyzer::mass ( double  P,
double  I 
)

Definition at line 134 of file dEdxAnalyzer.cc.

References dEdxC, dEdxK, Exhume::I, and mathSSE::sqrt().

Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), and analyze().

134  {
135  if (I - dEdxC < 0)
136  return -1;
137  return sqrt((I - dEdxC) / dEdxK) * P;
138 }
double dEdxC
Definition: dEdxAnalyzer.h:69
double dEdxK
Definition: dEdxAnalyzer.h:69
T sqrt(T t)
Definition: SSEVec.h:19
const std::complex< double > I
Definition: I.h:8
std::pair< OmniClusterRef, TrackingParticleRef > P

Member Data Documentation

◆ AlgoNames

std::vector<std::string> dEdxAnalyzer::AlgoNames
private

Definition at line 78 of file dEdxAnalyzer.h.

◆ conf_

edm::ParameterSet dEdxAnalyzer::conf_
private

Definition at line 44 of file dEdxAnalyzer.h.

Referenced by bookHistograms(), and dEdxAnalyzer().

◆ dEdxC

double dEdxAnalyzer::dEdxC
private

Definition at line 69 of file dEdxAnalyzer.h.

Referenced by bookHistograms(), and mass().

◆ dEdxInputList_

std::vector<std::string> dEdxAnalyzer::dEdxInputList_
private

Definition at line 74 of file dEdxAnalyzer.h.

Referenced by analyze(), bookHistograms(), and dEdxAnalyzer().

◆ dEdxK

double dEdxAnalyzer::dEdxK
private

Definition at line 69 of file dEdxAnalyzer.h.

Referenced by bookHistograms(), and mass().

◆ dEdxMEsVector

std::vector<dEdxMEs> dEdxAnalyzer::dEdxMEsVector
private

Definition at line 79 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ dEdxTokenList_

std::vector<edm::EDGetTokenT<reco::DeDxDataValueMap> > dEdxAnalyzer::dEdxTokenList_
private

Definition at line 75 of file dEdxAnalyzer.h.

Referenced by analyze(), and dEdxAnalyzer().

◆ doAllPlots_

bool dEdxAnalyzer::doAllPlots_
private

Definition at line 46 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ doDeDxPlots_

bool dEdxAnalyzer::doDeDxPlots_
private

Definition at line 47 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ dqmStore_

DQMStore* dEdxAnalyzer::dqmStore_
private

Definition at line 42 of file dEdxAnalyzer.h.

◆ fullconf_

edm::ParameterSet dEdxAnalyzer::fullconf_
private

Definition at line 43 of file dEdxAnalyzer.h.

◆ genTriggerEventFlag_

GenericTriggerEventFlag* dEdxAnalyzer::genTriggerEventFlag_
private

Definition at line 82 of file dEdxAnalyzer.h.

Referenced by analyze(), bookHistograms(), and ~dEdxAnalyzer().

◆ HighPtThreshold

double dEdxAnalyzer::HighPtThreshold
private

Definition at line 68 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ HIPdEdxMin

double dEdxAnalyzer::HIPdEdxMin
private

Definition at line 68 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ histname

std::string dEdxAnalyzer::histname
private

Definition at line 80 of file dEdxAnalyzer.h.

Referenced by bookHistograms().

◆ TrackHitMin

double dEdxAnalyzer::TrackHitMin
private

Definition at line 68 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

◆ trackInputTag_

edm::InputTag dEdxAnalyzer::trackInputTag_
private

Definition at line 71 of file dEdxAnalyzer.h.

Referenced by dEdxAnalyzer().

◆ TrackName

std::string dEdxAnalyzer::TrackName
private

Definition at line 77 of file dEdxAnalyzer.h.

◆ trackToken_

edm::EDGetTokenT<reco::TrackCollection> dEdxAnalyzer::trackToken_
private

Definition at line 72 of file dEdxAnalyzer.h.

Referenced by analyze(), and dEdxAnalyzer().