CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PatMuonAnalyzer.cc
Go to the documentation of this file.
4 
5 
9  muons_(cfg.getParameter<edm::InputTag>("muons"))
10 {
11  hists_["muonPt" ] = fs.make<TH1F>("muonPt" , "pt" , 100, 0., 300.);
12  hists_["muonEta" ] = fs.make<TH1F>("muonEta" , "eta" , 100, -3., 3.);
13  hists_["muonPhi" ] = fs.make<TH1F>("muonPhi" , "phi" , 100, -5., 5.);
14 }
16  edm::BasicAnalyzer::BasicAnalyzer(cfg, fs),
17  muons_(cfg.getParameter<edm::InputTag>("muons")) ,
18  muonsToken_(iC.consumes<std::vector<pat::Muon> >(muons_))
19 {
20  hists_["muonPt" ] = fs.make<TH1F>("muonPt" , "pt" , 100, 0., 300.);
21  hists_["muonEta" ] = fs.make<TH1F>("muonEta" , "eta" , 100, -3., 3.);
22  hists_["muonPhi" ] = fs.make<TH1F>("muonPhi" , "phi" , 100, -5., 5.);
23 }
24 
26 void
28 {
29  // define what muon you are using; this is necessary as FWLite is not
30  // capable of reading edm::Views
31  using pat::Muon;
32 
33  // Handle to the muon collection
35  event.getByLabel(muons_, muons);
36 
37  // loop muon collection and fill histograms
38  for(std::vector<Muon>::const_iterator mu1=muons->begin(); mu1!=muons->end(); ++mu1){
39  hists_["muonPt" ]->Fill( mu1->pt () );
40  hists_["muonEta"]->Fill( mu1->eta() );
41  hists_["muonPhi"]->Fill( mu1->phi() );
42  }
43 }
PatMuonAnalyzer(const edm::ParameterSet &cfg, TFileDirectory &fs)
default constructor
edm::InputTag muons_
input tag for mouns
Abstract base class for FWLite and EDM friendly analyzers.
Definition: HeavyIon.h:7
Definition: Muon.py:1
edm::EDGetTokenT< std::vector< pat::Muon > > muonsToken_
void analyze(const edm::EventBase &event) override
everything that needs to be done during the event loop
T * make(const Args &...args) const
make new ROOT object
std::map< std::string, TH1 * > hists_
histograms
HLT enums.
Definition: event.py:1