CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
TTbar_GenLepAnalyzer Class Reference

#include <TTbar_GenLepAnalyzer.h>

Inheritance diagram for TTbar_GenLepAnalyzer:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
 TTbar_GenLepAnalyzer (const edm::ParameterSet &)
 
 ~TTbar_GenLepAnalyzer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) 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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

bool do_e_
 
bool do_mu_
 
bool do_nu_e_
 
bool do_nu_mu_
 
bool do_nu_tau_
 
bool do_tau_
 
double eta_cut_
 
std::map< std::string, MonitorElement * > hists_
 
edm::InputTag leps_
 
edm::EDGetTokenT< edm::View< reco::Candidate > > lepsToken_
 
int pdgid
 
double pt_cut_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 53 of file TTbar_GenLepAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 7 of file TTbar_GenLepAnalyzer.cc.

References leps_, and lepsToken_.

7  :
8  leps_(iConfig.getParameter<edm::InputTag>("leptons"))
9 {
10 
11  lepsToken_=consumes< edm::View<reco::Candidate> >(leps_);
12 
13 }
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::View< reco::Candidate > > lepsToken_
TTbar_GenLepAnalyzer::~TTbar_GenLepAnalyzer ( )
override

Definition at line 16 of file TTbar_GenLepAnalyzer.cc.

17 {
18 
19  // do anything here that needs to be done at desctruction time
20  // (e.g. close files, deallocate resources etc.)
21 
22 }

Member Function Documentation

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

Definition at line 31 of file TTbar_GenLepAnalyzer.cc.

References edm::Event::getByToken(), hists_, edm::HandleBase::isValid(), TtSemiLepHitFitProducer_Electrons_cfi::leps, and lepsToken_.

32 {
33 
34  // Handle to the Leptons collections
36  iEvent.getByToken(lepsToken_, leps);
37  if(!leps.isValid()) return;
38 
39  // loop Jet collection and fill histograms
40  int nleps = 0;
41  for(edm::View<reco::Candidate>::const_iterator lep_it=leps->begin(); lep_it!=leps->end(); ++lep_it){
42 
43  ++nleps;
44 
45  if (nleps > 0) { hists_["lepPtAll" ]->Fill( lep_it->p4().pt() );
46  hists_["lepEtaAll"]->Fill( lep_it->p4().eta() );
47  }
48  if (nleps == 1) { hists_["lepPt1" ]->Fill( lep_it->p4().pt() );
49  hists_["lepEta1"]->Fill( lep_it->p4().eta() );
50  }
51  if (nleps == 2) { hists_["lepPt2" ]->Fill( lep_it->p4().pt() );
52  hists_["lepEta2"]->Fill( lep_it->p4().eta() );
53  }
54  if (nleps == 3) { hists_["lepPt3" ]->Fill( lep_it->p4().pt() );
55  hists_["lepEta3"]->Fill( lep_it->p4().eta() );
56  }
57  if (nleps == 4) { hists_["lepPt4" ]->Fill( lep_it->p4().pt() );
58  hists_["lepEta4"]->Fill( lep_it->p4().eta() );
59  }
60  }
61 
62  hists_["lepN" ]->Fill( nleps ) ;
63 
64 
65 }
edm::EDGetTokenT< edm::View< reco::Candidate > > lepsToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
bool isValid() const
Definition: HandleBase.h:74
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
std::map< std::string, MonitorElement * > hists_
void TTbar_GenLepAnalyzer::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  r,
edm::EventSetup const &  e 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 68 of file TTbar_GenLepAnalyzer.cc.

References DQMHelper::book1dHisto(), hists_, edm::InputTag::label(), leps_, and DQMStore::IBooker::setCurrentFolder().

68  {
69  DQMHelper dqm(&i); i.setCurrentFolder("Generator/TTbar");
70  hists_["lepN" ] = dqm.book1dHisto("TTbar_lepN"+leps_.label() , "N" , 10, -.5, 9.5 ,"Number of "+leps_.label(),"Number of Events");
71 
72  hists_["lepPtAll" ] = dqm.book1dHisto("TTbar_lepPtAll_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{All-"+leps_.label()+"} (GeV)","Number of Events");
73  hists_["lepPt1" ] = dqm.book1dHisto("TTbar_lepPt1_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{1st-"+leps_.label()+"} (GeV)","Number of Events");
74  hists_["lepPt2" ] = dqm.book1dHisto("TTbar_lepPt2_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{2nd-"+leps_.label()+"} (GeV)","Number of Events");
75  hists_["lepPt3" ] = dqm.book1dHisto("TTbar_lepPt3_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{3rd-"+leps_.label()+"} (GeV)","Number of Events");
76  hists_["lepPt4" ] = dqm.book1dHisto("TTbar_lepPt4_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{4th-"+leps_.label()+"} (GeV)","Number of Events");
77 
78  hists_["lepEtaAll"] = dqm.book1dHisto("TTbar_lepEtaAll"+leps_.label(), "eta", 100, -5., 5.,"#eta^{All-"+leps_.label()+"}","Number of Events");
79  hists_["lepEta1" ] = dqm.book1dHisto("TTbar_lepEta1"+leps_.label() , "eta", 100, -5., 5.,"#eta^{1st-"+leps_.label()+"}","Number of Events");
80  hists_["lepEta2" ] = dqm.book1dHisto("TTbar_lepEta2"+leps_.label() , "eta", 100, -5., 5.,"#eta^{2nd-"+leps_.label()+"}","Number of Events");
81  hists_["lepEta3" ] = dqm.book1dHisto("TTbar_lepEta3"+leps_.label() , "eta", 100, -5., 5.,"#eta^{3rd-"+leps_.label()+"}","Number of Events");
82  hists_["lepEta4" ] = dqm.book1dHisto("TTbar_lepEta4"+leps_.label() , "eta", 100, -5., 5.,"#eta^{4th-"+leps_.label()+"}","Number of Events");
83 }
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
std::string const & label() const
Definition: InputTag.h:36
std::map< std::string, MonitorElement * > hists_

Member Data Documentation

bool TTbar_GenLepAnalyzer::do_e_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

bool TTbar_GenLepAnalyzer::do_mu_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

bool TTbar_GenLepAnalyzer::do_nu_e_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

bool TTbar_GenLepAnalyzer::do_nu_mu_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

bool TTbar_GenLepAnalyzer::do_nu_tau_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

bool TTbar_GenLepAnalyzer::do_tau_
private

Definition at line 67 of file TTbar_GenLepAnalyzer.h.

double TTbar_GenLepAnalyzer::eta_cut_
private

Definition at line 68 of file TTbar_GenLepAnalyzer.h.

std::map<std::string, MonitorElement*> TTbar_GenLepAnalyzer::hists_
private

Definition at line 65 of file TTbar_GenLepAnalyzer.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag TTbar_GenLepAnalyzer::leps_
private

Definition at line 64 of file TTbar_GenLepAnalyzer.h.

Referenced by bookHistograms(), and TTbar_GenLepAnalyzer().

edm::EDGetTokenT<edm::View<reco::Candidate> > TTbar_GenLepAnalyzer::lepsToken_
private

Definition at line 71 of file TTbar_GenLepAnalyzer.h.

Referenced by analyze(), and TTbar_GenLepAnalyzer().

int TTbar_GenLepAnalyzer::pdgid
private

Definition at line 69 of file TTbar_GenLepAnalyzer.h.

double TTbar_GenLepAnalyzer::pt_cut_
private

Definition at line 68 of file TTbar_GenLepAnalyzer.h.