Monitoring source for general quantities related to track dEdx.
Definition at line 27 of file dEdxAnalyzer.h.
Implements edm::EDAnalyzer.
Definition at line 145 of file dEdxAnalyzer.cc.
References GenericTriggerEventFlag::accept(), AlgoNames, dEdxMEsVector, doAllPlots_, doDeDxPlots_, genTriggerEventFlag_, edm::Event::getByLabel(), reco::TrackBase::highPurity, HIPdEdxMin, i, edm::HandleBase::isValid(), mass(), GenericTriggerEventFlag::on(), edm::Handle< T >::product(), lumiQTWidget::t, TrackHitMin, and TrackName.
155 if(!trackCollectionHandle.
isValid())
return;
161 if(!dEdxObjectHandle.
isValid())
continue;
165 for(
unsigned int t=0;
t<trackCollectionHandle->size();
t++){
171 if( track->pt() >= 5.0 && track->numberOfValidHits()>
TrackHitMin){
173 dEdxMEsVector[
i].ME_MipDeDxNHits ->Fill(dEdxColl[track].numberOfMeasurements());
174 if (dEdxColl[track].numberOfMeasurements()!=0)
175 dEdxMEsVector[
i].ME_MipDeDxNSatHits->Fill((1.0*dEdxColl[track].numberOfSaturatedMeasurements())/dEdxColl[track].numberOfMeasurements());
179 }
else if(track->pt()<2 && dEdxColl[track].dEdx()>
HIPdEdxMin){
std::vector< std::string > AlgoNames
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
GenericTriggerEventFlag * genTriggerEventFlag_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< dEdxMEs > dEdxMEsVector
double mass(double P, double I)
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
T const * product() const
void dEdxAnalyzer::beginJob |
( |
void |
| ) |
|
|
virtual |
Reimplemented from edm::EDAnalyzer.
Definition at line 67 of file dEdxAnalyzer.cc.
References AlgoNames, DQMStore::book1D(), conf_, dEdxC, dEdxK, dEdxMEsVector, doAllPlots_, doDeDxPlots_, dqmStore_, edm::ParameterSet::getParameter(), HIPdEdxMin, histname, i, DQMStore::setCurrentFolder(), TrackHitMin, and TrackName.
110 dEdxMEsVector[
i].ME_MipDeDx->setAxisTitle(
"dEdx of each MIP Track (MeV/cm)");
113 histname =
"MIP_NumberOfdEdxHitsPerTrack_";
115 dEdxMEsVector[
i].ME_MipDeDxNHits->setAxisTitle(
"Number of dEdxHits of each MIP Track");
116 dEdxMEsVector[
i].ME_MipDeDxNHits->setAxisTitle(
"Number of Tracks", 2);
118 histname =
"MIP_FractionOfSaturateddEdxHitsPerTrack_";
120 dEdxMEsVector[
i].ME_MipDeDxNSatHits->setAxisTitle(
"Fraction of Saturated dEdxHits of each MIP Track");
121 dEdxMEsVector[
i].ME_MipDeDxNSatHits->setAxisTitle(
"Number of Tracks", 2);
125 dEdxMEsVector[
i].ME_MipDeDxMass->setAxisTitle(
"dEdx Mass of each MIP Track (GeV/c^{2})");
126 dEdxMEsVector[
i].ME_MipDeDxMass->setAxisTitle(
"Number of Tracks", 2);
130 dEdxMEsVector[
i].ME_HipDeDxMass->setAxisTitle(
"dEdx Mass of each HIP Track (GeV/c^{2})");
131 dEdxMEsVector[
i].ME_HipDeDxMass->setAxisTitle(
"Number of Tracks", 2);
T getParameter(std::string const &) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
std::vector< std::string > AlgoNames
std::vector< dEdxMEs > dEdxMEsVector
void setCurrentFolder(const std::string &fullpath)