CMS 3D CMS Logo

dEdxHitAnalyzer.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 //
7 // Original Author: Loic Quertenmont 2012/07/25
8 
9 #include <memory>
10 #include <fstream>
11 
16 
20 
22 
26 
31 
32 
34 
36  public:
37  explicit dEdxHitAnalyzer(const edm::ParameterSet&);
38  ~dEdxHitAnalyzer() override;
39 
40  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
41 
42  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
43  double harmonic2(const reco::DeDxHitInfo* dedxHits);
44  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
45  void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override;
46 
47  private:
48  // ----------member data ---------------------------
51 
54 
55  struct dEdxMEs
56  {
61 
63  :ME_StripHitDeDx(nullptr)
64  ,ME_PixelHitDeDx(nullptr)
65  ,ME_NHitDeDx(nullptr)
66  ,ME_Harm2DeDx(nullptr)
67  {}
68  };
69 
72 
73  std::vector<std::string> dEdxInputList_;
74  std::vector<edm::EDGetTokenT<reco::DeDxHitInfoAss> > dEdxTokenList_;
75 
77  std::vector< std::string > AlgoNames;
78  std::vector< dEdxMEs > dEdxMEsVector;
79  std::string histname; //for naming the histograms according to algorithm used
80 
82 
83 
85 
87  double dEdxNHitMin;
88  double dEdxNHitMax;
89 
91  double dEdxStripMin;
92  double dEdxStripMax;
93 
95  double dEdxPixelMin;
96  double dEdxPixelMax;
97 
99  double dEdxHarm2Min;
100  double dEdxHarm2Max;
101 };
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * ME_NHitDeDx
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
#define nullptr
std::vector< std::string > dEdxInputList_
MonitorElement * ME_StripHitDeDx
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
~dEdxHitAnalyzer() override
std::string histname
int iEvent
Definition: GenABIO.cc:230
dEdxHitAnalyzer(const edm::ParameterSet &)
edm::InputTag trackInputTag_
GenericTriggerEventFlag * genTriggerEventFlag_
edm::ParameterSet fullconf_
std::vector< edm::EDGetTokenT< reco::DeDxHitInfoAss > > dEdxTokenList_
double harmonic2(const reco::DeDxHitInfo *dedxHits)
MonitorElement * ME_PixelHitDeDx
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::string TrackName
std::vector< std::string > AlgoNames
MonitorElement * ME_Harm2DeDx
edm::ParameterSet conf_
std::string MEFolderName
Definition: Run.h:43
std::vector< dEdxMEs > dEdxMEsVector