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::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  dEdxMEs
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
virtual void beginJob ()
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 dEdxAnalyzer (const edm::ParameterSet &)
 
virtual void endJob ()
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
double mass (double P, double I)
 
 ~dEdxAnalyzer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () 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
 
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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

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 edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase 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)
 
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 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

Monitoring source for general quantities related to track dEdx.

Definition at line 35 of file dEdxAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 22 of file dEdxAnalyzer.cc.

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

24  , fullconf_( iConfig )
25  , conf_ (fullconf_.getParameter<edm::ParameterSet>("dEdxParameters") )
26  , doAllPlots_ ( conf_.getParameter<bool>("doAllPlots") )
27  , doDeDxPlots_ ( conf_.getParameter<bool>("doDeDxPlots") )
29 {
30 
32  trackToken_ = consumes<reco::TrackCollection>(trackInputTag_);
33 
34  dEdxInputList_ = conf_.getParameter<std::vector<std::string> >("deDxProducers");
35  for (auto const& tag : dEdxInputList_) {
36  dEdxTokenList_.push_back(consumes<reco::DeDxDataValueMap>(edm::InputTag(tag) ) );
37  }
38 }
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:88
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:58
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:90
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:98
edm::ParameterSet fullconf_
Definition: dEdxAnalyzer.h:57
bool doAllPlots_
Definition: dEdxAnalyzer.h:60
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:61
edm::InputTag trackInputTag_
Definition: dEdxAnalyzer.h:87
DQMStore * dqmStore_
Definition: dEdxAnalyzer.h:56
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:91
dEdxAnalyzer::~dEdxAnalyzer ( )
override

Definition at line 40 of file dEdxAnalyzer.cc.

References genTriggerEventFlag_.

41 {
42 
44 }
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:98

Member Function Documentation

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

Definition at line 168 of file dEdxAnalyzer.cc.

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

169 {
170 
171  // Filter out events if Trigger Filtering is requested
172  if (genTriggerEventFlag_->on()&& ! genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
173 
174 
175  if ( doDeDxPlots_ || doAllPlots_ ){
176  edm::Handle<reco::TrackCollection> trackCollectionHandle;
177  iEvent.getByToken(trackToken_, trackCollectionHandle );
178  if(!trackCollectionHandle.isValid())return;
179 
180  for(unsigned int i=0;i<dEdxInputList_.size();i++){
181  edm::Handle<reco::DeDxDataValueMap> dEdxObjectHandle;
182  iEvent.getByToken(dEdxTokenList_[i], dEdxObjectHandle );
183  if(!dEdxObjectHandle.isValid())continue;
184  const edm::ValueMap<reco::DeDxData> dEdxColl = *dEdxObjectHandle.product();
185 
186 
187  for(unsigned int t=0; t<trackCollectionHandle->size(); t++){
188  reco::TrackRef track = reco::TrackRef( trackCollectionHandle, t );
189 
190 
191  if(track->quality(reco::TrackBase::highPurity) ) {
192  //MIPs
193  if( track->pt() >= 5.0 && track->numberOfValidHits()>TrackHitMin){
194  dEdxMEsVector[i].ME_MipDeDx ->Fill(dEdxColl[track].dEdx());
195  dEdxMEsVector[i].ME_MipDeDxNHits ->Fill(dEdxColl[track].numberOfMeasurements());
196  if (dEdxColl[track].numberOfMeasurements()!=0)
197  dEdxMEsVector[i].ME_MipDeDxNSatHits->Fill((1.0*dEdxColl[track].numberOfSaturatedMeasurements())/dEdxColl[track].numberOfMeasurements());
198  dEdxMEsVector[i].ME_MipDeDxMass ->Fill(mass(track->p(), dEdxColl[track].dEdx()));
199 
200 
201  if(track->pt() >= HighPtThreshold){
202  dEdxMEsVector[i].ME_MipHighPtDeDx ->Fill(dEdxColl[track].dEdx());
203  dEdxMEsVector[i].ME_MipHighPtDeDxNHits ->Fill(dEdxColl[track].numberOfMeasurements());
204  }
205 
206  //HighlyIonizing particles
207  }else if(track->pt()<2 && dEdxColl[track].dEdx()>HIPdEdxMin){
208  dEdxMEsVector[i].ME_HipDeDxMass ->Fill(mass(track->p(), dEdxColl[track].dEdx()));
209  }
210  }
211  }
212  }
213  }
214 }
double HighPtThreshold
Definition: dEdxAnalyzer.h:84
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:88
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:508
double TrackHitMin
Definition: dEdxAnalyzer.h:84
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:90
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:98
bool doAllPlots_
Definition: dEdxAnalyzer.h:60
bool isValid() const
Definition: HandleBase.h:74
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:61
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:95
double mass(double P, double I)
T const * product() const
Definition: Handle.h:81
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
double HIPdEdxMin
Definition: dEdxAnalyzer.h:84
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:91
void dEdxAnalyzer::beginJob ( void  )
virtual

Definition at line 156 of file dEdxAnalyzer.cc.

157 {
158 }
void dEdxAnalyzer::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 219 of file dEdxAnalyzer.cc.

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

Implements DQMEDAnalyzer.

Definition at line 70 of file dEdxAnalyzer.cc.

References DQMStore::IBooker::book1D(), conf_, dEdxC, dEdxInputList_, dEdxK, dEdxMEsVector, doAllPlots_, doDeDxPlots_, genTriggerEventFlag_, edm::ParameterSet::getParameter(), HighPtThreshold, HIPdEdxMin, histname, mps_fire::i, GenericTriggerEventFlag::initRun(), GenericTriggerEventFlag::on(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and TrackHitMin.

73 {
74 
75  // Initialize the GenericTriggerEventFlag
76  if ( genTriggerEventFlag_->on() ) genTriggerEventFlag_->initRun( iRun, iSetup );
77 
78 
79  // parameters from the configuration
80  std::string MEFolderName = conf_.getParameter<std::string>("FolderName");
81 
82  // get binning from the configuration
83  TrackHitMin = conf_.getParameter<double>("TrackHitMin");
84  HIPdEdxMin = conf_.getParameter<double>("HIPdEdxMin");
85  HighPtThreshold = conf_.getParameter<double>("HighPtThreshold");
86 
87  dEdxK = conf_.getParameter<double>("dEdxK");
88  dEdxC = conf_.getParameter<double>("dEdxC");
89 
90 
91  int dEdxNHitBin = conf_.getParameter<int>( "dEdxNHitBin");
92  double dEdxNHitMin = conf_.getParameter<double>("dEdxNHitMin");
93  double dEdxNHitMax = conf_.getParameter<double>("dEdxNHitMax");
94 
95  int dEdxBin = conf_.getParameter<int>( "dEdxBin");
96  double dEdxMin = conf_.getParameter<double>("dEdxMin");
97  double dEdxMax = conf_.getParameter<double>("dEdxMax");
98 
99  int dEdxHIPmassBin = conf_.getParameter<int>( "dEdxHIPmassBin");
100  double dEdxHIPmassMin = conf_.getParameter<double>("dEdxHIPmassMin");
101  double dEdxHIPmassMax = conf_.getParameter<double>("dEdxHIPmassMax");
102 
103  int dEdxMIPmassBin = conf_.getParameter<int>( "dEdxMIPmassBin");
104  double dEdxMIPmassMin = conf_.getParameter<double>("dEdxMIPmassMin");
105  double dEdxMIPmassMax = conf_.getParameter<double>("dEdxMIPmassMax");
106 
107  ibooker.setCurrentFolder(MEFolderName);
108 
109  // book the Hit Property histograms
110  // ---------------------------------------------------------------------------------//
111 
112  if ( doDeDxPlots_ || doAllPlots_ ){
113  for(unsigned int i=0;i<dEdxInputList_.size();i++){
114  ibooker.setCurrentFolder(MEFolderName+"/"+ dEdxInputList_[i]);
115  dEdxMEsVector.push_back(dEdxMEs() );
116 
117  histname = "MIP_dEdxPerTrack_";
118  dEdxMEsVector[i].ME_MipDeDx = ibooker.book1D(histname, histname, dEdxBin, dEdxMin, dEdxMax);
119  dEdxMEsVector[i].ME_MipDeDx->setAxisTitle("dEdx of each MIP Track (MeV/cm)");
120  dEdxMEsVector[i].ME_MipDeDx->setAxisTitle("Number of Tracks", 2);
121 
122  histname = "MIP_NumberOfdEdxHitsPerTrack_";
123  dEdxMEsVector[i].ME_MipDeDxNHits = ibooker.book1D(histname, histname, dEdxNHitBin, dEdxNHitMin, dEdxNHitMax);
124  dEdxMEsVector[i].ME_MipDeDxNHits->setAxisTitle("Number of dEdxHits of each MIP Track");
125  dEdxMEsVector[i].ME_MipDeDxNHits->setAxisTitle("Number of Tracks", 2);
126 
127  histname = "MIP_FractionOfSaturateddEdxHitsPerTrack_";
128  dEdxMEsVector[i].ME_MipDeDxNSatHits = ibooker.book1D(histname, histname,2*dEdxNHitBin, 0, 1);
129  dEdxMEsVector[i].ME_MipDeDxNSatHits->setAxisTitle("Fraction of Saturated dEdxHits of each MIP Track");
130  dEdxMEsVector[i].ME_MipDeDxNSatHits->setAxisTitle("Number of Tracks", 2);
131 
132  histname = "MIP_MassPerTrack_";
133  dEdxMEsVector[i].ME_MipDeDxMass = ibooker.book1D(histname, histname, dEdxMIPmassBin, dEdxMIPmassMin, dEdxMIPmassMax);
134  dEdxMEsVector[i].ME_MipDeDxMass->setAxisTitle("dEdx Mass of each MIP Track (GeV/c^{2})");
135  dEdxMEsVector[i].ME_MipDeDxMass->setAxisTitle("Number of Tracks", 2);
136 
137  histname = "HIP_MassPerTrack_";
138  dEdxMEsVector[i].ME_HipDeDxMass = ibooker.book1D(histname, histname, dEdxHIPmassBin, dEdxHIPmassMin, dEdxHIPmassMax);
139  dEdxMEsVector[i].ME_HipDeDxMass->setAxisTitle("dEdx Mass of each HIP Track (GeV/c^{2})");
140  dEdxMEsVector[i].ME_HipDeDxMass->setAxisTitle("Number of Tracks", 2);
141 
142  histname = "MIPOfHighPt_dEdxPerTrack_";
143  dEdxMEsVector[i].ME_MipHighPtDeDx = ibooker.book1D(histname, histname, dEdxBin, dEdxMin, dEdxMax);
144  dEdxMEsVector[i].ME_MipHighPtDeDx->setAxisTitle("dEdx of each MIP (of High pT) Track (MeV/cm)");
145  dEdxMEsVector[i].ME_MipHighPtDeDx->setAxisTitle("Number of Tracks", 2);
146 
147  histname = "MIPOfHighPt_NumberOfdEdxHitsPerTrack_";
148  dEdxMEsVector[i].ME_MipHighPtDeDxNHits = ibooker.book1D(histname, histname, dEdxNHitBin, dEdxNHitMin, dEdxNHitMax);
149  dEdxMEsVector[i].ME_MipHighPtDeDxNHits->setAxisTitle("Number of dEdxHits of each MIP (of High pT) Track");
150  dEdxMEsVector[i].ME_MipHighPtDeDxNHits->setAxisTitle("Number of Tracks", 2);
151  }
152  }
153 
154 }
T getParameter(std::string const &) const
double HighPtThreshold
Definition: dEdxAnalyzer.h:84
double dEdxC
Definition: dEdxAnalyzer.h:85
double TrackHitMin
Definition: dEdxAnalyzer.h:84
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:58
double dEdxK
Definition: dEdxAnalyzer.h:85
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:90
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:98
bool doAllPlots_
Definition: dEdxAnalyzer.h:60
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:61
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:95
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
double HIPdEdxMin
Definition: dEdxAnalyzer.h:84
std::string histname
Definition: dEdxAnalyzer.h:96
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void dEdxAnalyzer::endJob ( void  )
virtual

Definition at line 48 of file dEdxAnalyzer.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), postProcessorL1Gen_cff::outputFileName, DQMStore::save(), DQMStore::showDirStructure(), and AlCaHLTBitMon_QueryRunRegistry::string.

49 {
50  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
52  if(outputMEsInRootFile)
53  {
55  dqmStore_->save(outputFileName);
56  }
57 }
T getParameter(std::string const &) const
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:58
DQMStore * dqmStore_
Definition: dEdxAnalyzer.h:56
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
Definition: DQMStore.cc:2668
void showDirStructure(void) const
Definition: DQMStore.cc:3463
void dEdxAnalyzer::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 225 of file dEdxAnalyzer.cc.

226 {
227 }
void dEdxAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 231 of file dEdxAnalyzer.cc.

References edm::ConfigurationDescriptions::addDefault(), DEFINE_FWK_MODULE, and edm::ParameterSetDescription::setUnknown().

231  {
232  //The following says we do not know what parameters are allowed so do no validation
233  // Please change this to state exactly what you do use, even if it is no parameters
235  desc.setUnknown();
236  descriptions.addDefault(desc);
237 }
void addDefault(ParameterSetDescription const &psetDescription)
double dEdxAnalyzer::mass ( double  P,
double  I 
)

Definition at line 161 of file dEdxAnalyzer.cc.

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

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

161  {
162  if(I-dEdxC<0)return -1;
163  return sqrt((I-dEdxC)/dEdxK)*P;
164 }
double dEdxC
Definition: dEdxAnalyzer.h:85
double dEdxK
Definition: dEdxAnalyzer.h:85
T sqrt(T t)
Definition: SSEVec.h:18
const std::complex< double > I
Definition: I.h:8
std::pair< OmniClusterRef, TrackingParticleRef > P

Member Data Documentation

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

Definition at line 94 of file dEdxAnalyzer.h.

edm::ParameterSet dEdxAnalyzer::conf_
private

Definition at line 58 of file dEdxAnalyzer.h.

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

double dEdxAnalyzer::dEdxC
private

Definition at line 85 of file dEdxAnalyzer.h.

Referenced by bookHistograms(), and mass().

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

Definition at line 90 of file dEdxAnalyzer.h.

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

double dEdxAnalyzer::dEdxK
private

Definition at line 85 of file dEdxAnalyzer.h.

Referenced by bookHistograms(), and mass().

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

Definition at line 95 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 91 of file dEdxAnalyzer.h.

Referenced by analyze(), and dEdxAnalyzer().

bool dEdxAnalyzer::doAllPlots_
private

Definition at line 60 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

bool dEdxAnalyzer::doDeDxPlots_
private

Definition at line 61 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

DQMStore* dEdxAnalyzer::dqmStore_
private

Definition at line 56 of file dEdxAnalyzer.h.

Referenced by endJob().

edm::ParameterSet dEdxAnalyzer::fullconf_
private

Definition at line 57 of file dEdxAnalyzer.h.

GenericTriggerEventFlag* dEdxAnalyzer::genTriggerEventFlag_
private

Definition at line 98 of file dEdxAnalyzer.h.

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

double dEdxAnalyzer::HighPtThreshold
private

Definition at line 84 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

double dEdxAnalyzer::HIPdEdxMin
private

Definition at line 84 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

std::string dEdxAnalyzer::histname
private

Definition at line 96 of file dEdxAnalyzer.h.

Referenced by bookHistograms().

double dEdxAnalyzer::TrackHitMin
private

Definition at line 84 of file dEdxAnalyzer.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag dEdxAnalyzer::trackInputTag_
private

Definition at line 87 of file dEdxAnalyzer.h.

Referenced by dEdxAnalyzer().

std::string dEdxAnalyzer::TrackName
private

Definition at line 93 of file dEdxAnalyzer.h.

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

Definition at line 88 of file dEdxAnalyzer.h.

Referenced by analyze(), and dEdxAnalyzer().