CMS 3D CMS Logo

ScoutingTestAnalyzer.cc
Go to the documentation of this file.
1 // This class is used to test the functionalities of the package
2 
5 
6 // A simple constructor which takes as inoput only the name of the PF jet
7 // collection
9  m_pfJetsCollectionTag = conf.getUntrackedParameter<edm::InputTag>("pfJetsCollectionName");
10  // set Token(-s)
12  consumes<reco::CaloJetCollection>(conf.getUntrackedParameter<edm::InputTag>("pfJetsCollectionName"));
13 }
14 
16 
17 // Function to book the Monitoring Elements.
20  std::string collection_name = m_pfJetsCollectionTag.label();
21 
22  /* This method allows us to book an Histogram in one line in a completely
23  * transparent way. Take your time to put axis titles!!!!*/
25  iBooker, collection_name + "_pt", collection_name + " Jet P_{T}", 50, 0., 500., "Jet P_{T} [GeV]");
26 
27  m_jetEtaPhi = bookH2withSumw2(iBooker,
28  collection_name + "_etaphi",
29  collection_name + " #eta #phi",
30  50,
31  -5,
32  5,
33  50,
34  -3.1415,
35  +3.1415,
36  "#eta^{Jet}",
37  "#phi^{Jet}");
38 }
39 
40 // Usual analyze method
43  iEvent.getByToken(m_pfJetsCollectionTagToken_, calojets_handle);
44  /* This is an example of how C++11 can simplify or lifes. The auto keyword
45  make the compiler figure out by itself which is the type of the pfjets
46  object. The qualifier const of course still apply. Poor's man explaination:
47  "compiler, make pfjets a const ref and figure out for me the type"*/
48  auto const &calojets = *calojets_handle;
49 
50  // Again, C++11. A loop on a std::vector becomes as simple as this!
51  for (auto const &calojet : calojets) {
52  m_jetPt->Fill(calojet.pt());
53  m_jetEtaPhi->Fill(calojet.eta(), calojet.phi());
54  }
55 }
void prepareBooking(DQMStore::IBooker &)
MonitorElement * m_jetEtaPhi
MonitorElement * bookH1withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
std::string const & label() const
Definition: InputTag.h:36
edm::InputTag m_pfJetsCollectionTag
T getUntrackedParameter(std::string const &, T const &) const
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< reco::CaloJetCollection > m_pfJetsCollectionTagToken_
MonitorElement * bookH2withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
ScoutingTestAnalyzer(const edm::ParameterSet &)
MonitorElement * m_jetPt
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: Run.h:45
void analyze(const edm::Event &, const edm::EventSetup &) override