CMS 3D CMS Logo

BTVHLTOfflineSource.h
Go to the documentation of this file.
1 #ifndef BTVHLTOfflineSource_H
2 #define BTVHLTOfflineSource_H
3 /*
4  BTVHLTOffline DQM code
5 */
6 //
7 // Originally created by: Anne-Catherine Le Bihan
8 // June 2015
9 // Following the structure used in JetMetHLTOfflineSource
10 
11 // system include files
12 #include <fstream>
13 #include <iostream>
14 #include <memory>
15 #include <sstream>
16 #include <string>
17 #include <utility>
18 #include <vector>
19 #include <unistd.h>
20 
21 // user include files
41 
43 public:
44  explicit BTVHLTOfflineSource(const edm::ParameterSet&);
45  ~BTVHLTOfflineSource() override;
46 
47 private:
48  void analyze(const edm::Event&, const edm::EventSetup&) override;
49  void bookHistograms(DQMStore::IBooker&, edm::Run const& run, edm::EventSetup const& c) override;
50  void dqmBeginRun(edm::Run const& run, edm::EventSetup const& c) override;
51 
52  bool verbose_;
55 
56  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
57 
60 
64 
67 
72 
77 
80 
83 
84  // edm::EDGetTokenT<std::vector<reco::TemplatedSecondaryVertexTagInfo<reco::IPTagInfo<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,reco::JTATagInfo>,reco::Vertex> > >
85  // caloTagInfosToken_;
86  // edm::EDGetTokenT<std::vector<reco::TemplatedSecondaryVertexTagInfo<reco::IPTagInfo<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,reco::JTATagInfo>,reco::Vertex> > >
87  // pfTagInfosToken_;
88 
94  reco::Vertex> > >
97  reco::IPTagInfo<edm::RefVector<std::vector<reco::Track>,
98  reco::Track,
99  edm::refhelper::FindUsingAdvance<std::vector<reco::Track>, reco::Track> >,
100  reco::JTATagInfo>,
101  reco::Vertex> > >
103 
108 
113 
114  class PathInfo : public TriggerDQMBase {
116  : prescaleUsed_(-1),
117  pathName_("unset"),
118  filterName_("unset"),
119  processName_("unset"),
120  objectType_(-1),
121  triggerType_("unset"){};
122 
123  public:
124  ~PathInfo() override = default;
125  ;
126  PathInfo(const int prescaleUsed,
127  const std::string& pathName,
128  const std::string& filterName,
129  const std::string& processName,
130  const int type,
131  const std::string& triggerType)
132  : prescaleUsed_(prescaleUsed),
133  pathName_(pathName),
134  filterName_(filterName),
135  processName_(processName),
136  objectType_(type),
137  triggerType_(triggerType) {}
138 
139  const std::string getLabel() const { return filterName_; }
140  void setLabel(std::string labelName) { filterName_ = std::move(labelName); }
141  const std::string getPath() const { return pathName_; }
142  const int getprescaleUsed() const { return prescaleUsed_; }
143  const std::string getProcess() const { return processName_; }
144  const int getObjectType() const { return objectType_; }
145  const std::string getTriggerType() const { return triggerType_; }
147  const bool operator==(const std::string& v) const { return v == pathName_; }
148 
149  MonitorElement* Discr = nullptr;
150  MonitorElement* Pt = nullptr;
151  MonitorElement* Eta = nullptr;
157  MonitorElement* PVz = nullptr;
161  MonitorElement* n_vtx = nullptr;
168  // MonitorElement* n_pixel_hits_;
169  // MonitorElement* n_total_hits_;
170 
171  private:
178  };
179 
180  class PathInfoCollection : public std::vector<PathInfo> {
181  public:
182  PathInfoCollection() : std::vector<PathInfo>(){};
183  std::vector<PathInfo>::iterator find(const std::string& pathName) { return std::find(begin(), end(), pathName); }
184  };
186 };
187 #endif
void analyze(const edm::Event &, const edm::EventSetup &) override
BTVHLTOfflineSource(const edm::ParameterSet &)
const std::string getPath() const
type
Definition: HCALResponse.h:21
const std::string getLabel() const
edm::EDGetTokenT< std::vector< reco::ShallowTagInfo > > shallowTagInfosTokenCalo_
edm::Handle< trigger::TriggerEvent > triggerObj_
edm::EDGetTokenT< reco::JetTagCollection > pfTagsToken_
const bool operator==(const std::string &v) const
edm::EDGetTokenT< reco::JetTagCollection > offlineDiscrTokenb_
void setLabel(std::string labelName)
edm::EDGetTokenT< std::vector< reco::Vertex > > hltCaloPVToken_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle< std::vector< reco::ShallowTagInfo > > shallowTagInfosPf
edm::EDGetTokenT< std::vector< reco::Vertex > > offlinePVToken_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryFUToken
std::vector< PathInfo >::iterator find(const std::string &pathName)
edm::InputTag triggerResultsLabel_
edm::Handle< edm::TriggerResults > triggerResults_
edm::Handle< reco::JetTagCollection > pfTags
edm::InputTag triggerSummaryLabel_
~PathInfo() override=default
const std::string getProcess() const
PathInfo(const int prescaleUsed, const std::string &pathName, const std::string &filterName, const std::string &processName, const int type, const std::string &triggerType)
PathInfoCollection hltPathsAll_
const edm::InputTag getTag() const
#define end
Definition: vmac.h:39
~BTVHLTOfflineSource() override
HLTConfigProvider hltConfig_
edm::EDGetTokenT< reco::JetTagCollection > offlineDiscrTokenbb_
edm::EDGetTokenT< std::vector< reco::Vertex > > hltFastPVToken_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
const std::string getTriggerType() const
edm::EDGetTokenT< std::vector< reco::Vertex > > hltPFPVToken_
edm::Handle< std::vector< reco::TemplatedSecondaryVertexTagInfo< reco::IPTagInfo< edm::RefVector< std::vector< reco::Track >, reco::Track, edm::refhelper::FindUsingAdvance< std::vector< reco::Track >, reco::Track > >, reco::JTATagInfo >, reco::Vertex > > > pfTagInfos
void dqmBeginRun(edm::Run const &run, edm::EventSetup const &c) override
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
#define begin
Definition: vmac.h:32
edm::EDGetTokenT< std::vector< reco::ShallowTagInfo > > shallowTagInfosTokenPf_
edm::Handle< reco::JetTagCollection > caloTags
void bookHistograms(DQMStore::IBooker &, edm::Run const &run, edm::EventSetup const &c) override
edm::Handle< std::vector< reco::TemplatedSecondaryVertexTagInfo< reco::IPTagInfo< edm::RefVector< std::vector< reco::Track >, reco::Track, edm::refhelper::FindUsingAdvance< std::vector< reco::Track >, reco::Track > >, reco::JTATagInfo >, reco::Vertex > > > caloTagInfos
edm::EDGetTokenT< reco::JetTagCollection > caloTagsToken_
edm::TriggerNames triggerNames_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
def move(src, dest)
Definition: eostools.py:511
edm::Handle< std::vector< reco::ShallowTagInfo > > shallowTagInfosCalo
Definition: Run.h:45