CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
ObjMonitor Class Reference

#include <ObjMonitor.h>

Inheritance diagram for ObjMonitor:
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

 ObjMonitor (const edm::ParameterSet &)
 
 ~ObjMonitor () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
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 () 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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- 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)
 

Private Member Functions

bool looseJetId (const double &abseta, const double &NHF, const double &NEMF, const double &CHF, const double &CEMF, const unsigned &NumNeutralParticles, const unsigned &CHM)
 
bool tightJetId (const double &abseta, const double &NHF, const double &NEMF, const double &CHF, const double &CEMF, const unsigned &NumNeutralParticles, const unsigned &CHM)
 

Private Attributes

std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
bool do_ht_
 
bool do_jet_
 
bool do_met_
 
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
 
edm::EDGetTokenT< reco::GsfElectronCollectioneleToken_
 
std::string folderName_
 
std::string histoSuffix_
 
HTDQM htDQM_
 
StringCutObjectSelector< reco::PFJet, true > htjetSelection_
 
JetDQM jetDQM_
 
std::string jetId_
 
StringCutObjectSelector< reco::PFJet, true > jetSelection_
 
edm::EDGetTokenT< reco::PFJetCollectionjetToken_
 
METDQM metDQM_
 
StringCutObjectSelector< reco::MET, true > metSelection_
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
StringCutObjectSelector< reco::Muon, true > muoSelection_
 
edm::EDGetTokenT< reco::MuonCollectionmuoToken_
 
unsigned nelectrons_
 
unsigned njets_
 
unsigned nmuons_
 
unsigned nphotons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
StringCutObjectSelector< reco::Photon, true > phoSelection_
 
edm::EDGetTokenT< reco::PhotonCollectionphoToken_
 

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
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 53 of file ObjMonitor.h.

Constructor & Destructor Documentation

ObjMonitor::ObjMonitor ( const edm::ParameterSet iConfig)

Definition at line 18 of file ObjMonitor.cc.

References do_ht_, do_jet_, do_met_, htDQM_, METDQM::initialise(), HTDQM::initialise(), JetDQM::initialise(), jetDQM_, metDQM_, and ~ObjMonitor().

18  :
19  folderName_ ( iConfig.getParameter<std::string>("FolderName") )
20  , metToken_ ( consumes<reco::PFMETCollection> (iConfig.getParameter<edm::InputTag>("met") ) )
21  , jetToken_ ( mayConsume<reco::PFJetCollection> (iConfig.getParameter<edm::InputTag>("jets") ) )
22  , eleToken_ ( mayConsume<reco::GsfElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons") ) )
23  , muoToken_ ( mayConsume<reco::MuonCollection> (iConfig.getParameter<edm::InputTag>("muons") ) )
24  , phoToken_ ( mayConsume<reco::PhotonCollection> (iConfig.getParameter<edm::InputTag>("photons") ) )
25  , do_met_ (iConfig.getParameter<bool>("doMETHistos") )
26  , do_jet_ (iConfig.getParameter<bool>("doJetHistos") )
27  , do_ht_ (iConfig.getParameter<bool>("doHTHistos") )
28  , num_genTriggerEventFlag_(std::make_unique<GenericTriggerEventFlag>(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"),consumesCollector(), *this))
29  , den_genTriggerEventFlag_(std::make_unique<GenericTriggerEventFlag>(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"),consumesCollector(), *this))
30  , metSelection_ ( iConfig.getParameter<std::string>("metSelection") )
31  , jetSelection_ ( iConfig.getParameter<std::string>("jetSelection") )
32  , jetId_ ( iConfig.getParameter<std::string>("jetId") )
33  , htjetSelection_ ( iConfig.getParameter<std::string>("htjetSelection"))
34  , eleSelection_ ( iConfig.getParameter<std::string>("eleSelection") )
35  , muoSelection_ ( iConfig.getParameter<std::string>("muoSelection") )
36  , phoSelection_ ( iConfig.getParameter<std::string>("phoSelection") )
37  , njets_ ( iConfig.getParameter<int>("njets" ) )
38  , nelectrons_ ( iConfig.getParameter<int>("nelectrons" ) )
39  , nmuons_ ( iConfig.getParameter<int>("nmuons" ) )
40  , nphotons_ ( iConfig.getParameter<int>("nphotons") )
41 {
42  if (do_met_){
43  metDQM_.initialise(iConfig);
44  }
45  if (do_jet_){
46  jetDQM_.initialise(iConfig);
47  }
48  if (do_ht_ ){
49  htDQM_.initialise(iConfig);
50  }
51 }
T getParameter(std::string const &) const
unsigned nelectrons_
Definition: ObjMonitor.h:113
void initialise(const edm::ParameterSet &iConfig)
Definition: JetDQM.cc:8
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: ObjMonitor.h:88
void initialise(const edm::ParameterSet &iConfig)
Definition: HTDQM.cc:7
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: ObjMonitor.h:105
unsigned nmuons_
Definition: ObjMonitor.h:114
unsigned nphotons_
Definition: ObjMonitor.h:115
StringCutObjectSelector< reco::Photon, true > phoSelection_
Definition: ObjMonitor.h:111
std::string jetId_
Definition: ObjMonitor.h:107
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: ObjMonitor.h:102
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: ObjMonitor.h:86
void initialise(const edm::ParameterSet &iConfig)
Definition: METDQM.cc:7
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: ObjMonitor.h:106
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: ObjMonitor.h:103
std::string folderName_
Definition: ObjMonitor.h:83
bool do_met_
Definition: ObjMonitor.h:94
bool do_jet_
Definition: ObjMonitor.h:96
edm::EDGetTokenT< reco::PhotonCollection > phoToken_
Definition: ObjMonitor.h:90
bool do_ht_
Definition: ObjMonitor.h:98
JetDQM jetDQM_
Definition: ObjMonitor.h:97
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: ObjMonitor.h:87
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: ObjMonitor.h:110
StringCutObjectSelector< reco::PFJet, true > htjetSelection_
Definition: ObjMonitor.h:108
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: ObjMonitor.h:89
unsigned njets_
Definition: ObjMonitor.h:112
METDQM metDQM_
Definition: ObjMonitor.h:95
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: ObjMonitor.h:109
HTDQM htDQM_
Definition: ObjMonitor.h:99
ObjMonitor::~ObjMonitor ( )
overridedefault

Referenced by ObjMonitor().

Member Function Documentation

void ObjMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 73 of file ObjMonitor.cc.

References funct::abs(), den_genTriggerEventFlag_, do_ht_, do_jet_, do_met_, MillePedeFileConverter_cfg::e, electrons_cff::electrons, eleSelection_, eleToken_, METDQM::fillHistograms(), HTDQM::fillHistograms(), JetDQM::fillHistograms(), edm::Event::getByToken(), htDQM_, htjetSelection_, edm::EventBase::id(), jetDQM_, jetId_, fwrapper::jets, jetSelection_, jetToken_, looseJetId(), eostools::ls(), edm::EventID::luminosityBlock(), funct::m, RazorAnalyzer::met, metDQM_, metSelection_, metToken_, nano_cff::muons, muoSelection_, muoToken_, nelectrons_, njets_, nmuons_, nphotons_, num_genTriggerEventFlag_, phi, reco::LeafCandidate::phi(), phoSelection_, phoToken_, nano_cff::photons, reco::LeafCandidate::pt(), and tightJetId().

73  {
74 
75  // Filter out events if Trigger Filtering is requested
76  if (den_genTriggerEventFlag_->on() && ! den_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
77 
79  iEvent.getByToken( metToken_, metHandle );
80  reco::PFMET pfmet = metHandle->front();
81  if ( ! metSelection_( pfmet ) ) return;
82 
83  float met = pfmet.pt();
84  float phi = pfmet.phi();
85 
87  iEvent.getByToken( jetToken_, jetHandle );
88  std::vector<reco::PFJet> jets;
89  std::vector<reco::PFJet> htjets;
90  if ( jetHandle->size() < njets_ ) return;
91  for ( auto const & j : *jetHandle ) {
92  if ( jetSelection_( j ) ) {
93  if (jetId_=="loose" || jetId_ =="tight"){
94  double abseta = abs(j.eta());
95  double NHF = j.neutralHadronEnergyFraction();
96  double NEMF = j.neutralEmEnergyFraction();
97  double CHF = j.chargedHadronEnergyFraction();
98  double CEMF = j.chargedEmEnergyFraction();
99  unsigned NumNeutralParticles =j.neutralMultiplicity();
100  unsigned CHM = j.chargedMultiplicity();
101  bool passId = (jetId_=="loose" && looseJetId(abseta,NHF,NEMF,CHF,CEMF,NumNeutralParticles,CHM)) || (jetId_=="tight" && tightJetId(abseta,NHF,NEMF,CHF,CEMF,NumNeutralParticles,CHM));
102  if (passId) jets.push_back(j);
103  }
104  else jets.push_back(j);
105  }
106  if ( htjetSelection_( j ) ) htjets.push_back(j);
107  }
108  if ( jets.size() < njets_ ) return;
109 
111  iEvent.getByToken( eleToken_, eleHandle );
112  std::vector<reco::GsfElectron> electrons;
113  if ( eleHandle->size() < nelectrons_ ) return;
114  for ( auto const & e : *eleHandle ) {
115  if ( eleSelection_( e ) ) electrons.push_back(e);
116  }
117  if ( electrons.size() < nelectrons_ ) return;
118 
120  iEvent.getByToken( muoToken_, muoHandle );
121  if ( muoHandle->size() < nmuons_ ) return;
122  std::vector<reco::Muon> muons;
123  for ( auto const & m : *muoHandle ) {
124  if ( muoSelection_( m ) ) muons.push_back(m);
125  }
126  if ( muons.size() < nmuons_ ) return;
127 
129  iEvent.getByToken( phoToken_, phoHandle );
130  if ( phoHandle->size() < nphotons_ ) return;
131  std::vector<reco::Photon> photons;
132  for ( auto const & m : *phoHandle ) {
133  if ( phoSelection_( m ) ) photons.push_back(m);
134  }
135  if ( photons.size() < nphotons_ ) return;
136 
137 
138  bool passNumCond = num_genTriggerEventFlag_->off() || num_genTriggerEventFlag_->accept( iEvent, iSetup);
139  int ls = iEvent.id().luminosityBlock();
140 
141  if (do_met_) metDQM_.fillHistograms(met,phi,ls,passNumCond);
142  if (do_jet_) jetDQM_.fillHistograms(jets,pfmet,ls,passNumCond);
143  if (do_ht_ ) htDQM_.fillHistograms(htjets,met,ls,passNumCond);
144 
145 }
void fillHistograms(const double &met, const double &phi, const int &ls, const bool passCond)
Definition: METDQM.cc:39
unsigned nelectrons_
Definition: ObjMonitor.h:113
void fillHistograms(const std::vector< reco::PFJet > &jets, const reco::PFMET &pfmet, const int &ls, const bool passCond)
Definition: JetDQM.cc:90
bool looseJetId(const double &abseta, const double &NHF, const double &NEMF, const double &CHF, const double &CEMF, const unsigned &NumNeutralParticles, const unsigned &CHM)
Definition: ObjMonitor.cc:147
edm::EDGetTokenT< reco::GsfElectronCollection > eleToken_
Definition: ObjMonitor.h:88
double pt() const final
transverse momentum
bool tightJetId(const double &abseta, const double &NHF, const double &NEMF, const double &CHF, const double &CEMF, const unsigned &NumNeutralParticles, const unsigned &CHM)
Definition: ObjMonitor.cc:167
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: ObjMonitor.h:105
unsigned nmuons_
Definition: ObjMonitor.h:114
unsigned nphotons_
Definition: ObjMonitor.h:115
StringCutObjectSelector< reco::Photon, true > phoSelection_
Definition: ObjMonitor.h:111
int iEvent
Definition: GenABIO.cc:230
std::string jetId_
Definition: ObjMonitor.h:107
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: ObjMonitor.h:102
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: ObjMonitor.h:86
vector< PseudoJet > jets
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: ObjMonitor.h:106
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: ObjMonitor.h:103
bool do_met_
Definition: ObjMonitor.h:94
bool do_jet_
Definition: ObjMonitor.h:96
edm::EDGetTokenT< reco::PhotonCollection > phoToken_
Definition: ObjMonitor.h:90
def ls(path, rec=False)
Definition: eostools.py:348
bool do_ht_
Definition: ObjMonitor.h:98
met
===> hadronic RAZOR
JetDQM jetDQM_
Definition: ObjMonitor.h:97
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: ObjMonitor.h:87
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: ObjMonitor.h:110
StringCutObjectSelector< reco::PFJet, true > htjetSelection_
Definition: ObjMonitor.h:108
void fillHistograms(const std::vector< reco::PFJet > &htjets, const double &met, const int &ls, const bool passCond)
Definition: HTDQM.cc:35
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: ObjMonitor.h:89
unsigned njets_
Definition: ObjMonitor.h:112
double phi() const final
momentum azimuthal angle
METDQM metDQM_
Definition: ObjMonitor.h:95
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: ObjMonitor.h:109
HTDQM htDQM_
Definition: ObjMonitor.h:99
void ObjMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 55 of file ObjMonitor.cc.

References METDQM::bookHistograms(), HTDQM::bookHistograms(), JetDQM::bookHistograms(), den_genTriggerEventFlag_, do_ht_, do_jet_, do_met_, folderName_, htDQM_, jetDQM_, metDQM_, num_genTriggerEventFlag_, DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

58 {
59 
60  std::string currentFolder = folderName_ ;
61  ibooker.setCurrentFolder(currentFolder);
62 
63  if (do_met_) metDQM_.bookHistograms(ibooker);
64  if (do_jet_) jetDQM_.bookHistograms(ibooker);
65  if (do_ht_ ) htDQM_.bookHistograms(ibooker);
66 
67  // Initialize the GenericTriggerEventFlag
68  if ( num_genTriggerEventFlag_ && num_genTriggerEventFlag_->on() ) num_genTriggerEventFlag_->initRun( iRun, iSetup );
69  if ( den_genTriggerEventFlag_ && den_genTriggerEventFlag_->on() ) den_genTriggerEventFlag_->initRun( iRun, iSetup );
70 
71 }
void bookHistograms(DQMStore::IBooker &)
Definition: METDQM.cc:16
void bookHistograms(DQMStore::IBooker &)
Definition: HTDQM.cc:16
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: ObjMonitor.h:102
void bookHistograms(DQMStore::IBooker &)
Definition: JetDQM.cc:23
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: ObjMonitor.h:103
std::string folderName_
Definition: ObjMonitor.h:83
bool do_met_
Definition: ObjMonitor.h:94
bool do_jet_
Definition: ObjMonitor.h:96
bool do_ht_
Definition: ObjMonitor.h:98
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
JetDQM jetDQM_
Definition: ObjMonitor.h:97
METDQM metDQM_
Definition: ObjMonitor.h:95
HTDQM htDQM_
Definition: ObjMonitor.h:99
void ObjMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 187 of file ObjMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), DEFINE_FWK_MODULE, HTDQM::fillHtDescription(), JetDQM::fillJetDescription(), METDQM::fillMetDescription(), and AlCaHLTBitMon_QueryRunRegistry::string.

188 {
190  desc.add<std::string> ( "FolderName", "HLT/OBJ" );
191 
192  desc.add<edm::InputTag>( "met", edm::InputTag("pfMet") );
193  desc.add<edm::InputTag>( "jets", edm::InputTag("ak4PFJetsCHS") );
194  desc.add<edm::InputTag>( "electrons",edm::InputTag("gedGsfElectrons") );
195  desc.add<edm::InputTag>( "muons", edm::InputTag("muons") );
196  desc.add<edm::InputTag>( "photons", edm::InputTag("gedPhotons") );
197  desc.add<std::string>("metSelection", "pt > 0");
198  desc.add<std::string>("jetSelection", "pt > 0");
199  desc.add<std::string>("jetId", "");
200  desc.add<std::string>("htjetSelection", "pt > 30");
201  desc.add<std::string>("eleSelection", "pt > 0");
202  desc.add<std::string>("muoSelection", "pt > 0");
203  desc.add<std::string>("phoSelection", "pt > 0");
204  desc.add<int>("njets", 0);
205  desc.add<int>("nelectrons", 0);
206  desc.add<int>("nmuons", 0);
207  desc.add<int>("nphotons", 0);
208 
209  edm::ParameterSetDescription genericTriggerEventPSet;
210  genericTriggerEventPSet.add<bool>("andOr");
211  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi") );
212  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions",{});
213  genericTriggerEventPSet.add<bool>("andOrDcs", false);
214  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
215  genericTriggerEventPSet.add<std::string>("dbLabel","");
216  genericTriggerEventPSet.add<bool>("andOrHlt", true);
217  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT") );
218  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths",{});
219  genericTriggerEventPSet.add<std::string>("hltDBKey","");
220  genericTriggerEventPSet.add<bool>("errorReplyHlt",false);
221  genericTriggerEventPSet.add<unsigned int>("verbosityLevel",1);
222 
223  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
224  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
225 
226  desc.add<bool>("doMETHistos", true);
228  METDQM::fillMetDescription(histoPSet);
229  desc.add<bool>("doJetHistos", true);
230  JetDQM::fillJetDescription(histoPSet);
231  desc.add<bool>("doHTHistos", true);
232  HTDQM::fillHtDescription(histoPSet);
233 
234  desc.add<edm::ParameterSetDescription>("histoPSet",histoPSet);
235 
236  descriptions.add("objMonitoring", desc);
237 }
static void fillJetDescription(edm::ParameterSetDescription &histoPSet)
Definition: JetDQM.cc:180
static void fillMetDescription(edm::ParameterSetDescription &histoPSet)
Definition: METDQM.cc:62
static void fillHtDescription(edm::ParameterSetDescription &histoPSet)
Definition: HTDQM.cc:61
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool ObjMonitor::looseJetId ( const double &  abseta,
const double &  NHF,
const double &  NEMF,
const double &  CHF,
const double &  CEMF,
const unsigned &  NumNeutralParticles,
const unsigned &  CHM 
)
private

Definition at line 147 of file ObjMonitor.cc.

Referenced by analyze().

154 {
155  if (abseta<=2.7){
156  unsigned NumConst = CHM+NumNeutralParticles;
157 
158  return ((NumConst>1 && NHF<0.99 && NEMF<0.99) && ((abseta<=2.4 && CHF>0 && CHM>0 && CEMF<0.99) || abseta>2.4));
159  }
160  else if (abseta<=3){
161  return (NumNeutralParticles>2 && NEMF>0.01 && NHF<0.98);
162  }
163  else {
164  return NumNeutralParticles>10 && NEMF<0.90;
165  }
166 }
bool ObjMonitor::tightJetId ( const double &  abseta,
const double &  NHF,
const double &  NEMF,
const double &  CHF,
const double &  CEMF,
const unsigned &  NumNeutralParticles,
const unsigned &  CHM 
)
private

Definition at line 167 of file ObjMonitor.cc.

Referenced by analyze().

174 {
175  if (abseta<=2.7){
176  unsigned NumConst = CHM+NumNeutralParticles;
177  return (NumConst>1 && NHF<0.90 && NEMF<0.90 ) && ((abseta<=2.4 && CHF>0 && CHM>0 && CEMF<0.99) || abseta>2.4);
178  }
179  else if (abseta<=3){
180  return (NHF<0.98 && NEMF>0.01 && NumNeutralParticles>2);
181  }
182  else {
183  return (NEMF<0.90 && NumNeutralParticles>10);
184  }
185 }

Member Data Documentation

std::unique_ptr<GenericTriggerEventFlag> ObjMonitor::den_genTriggerEventFlag_
private

Definition at line 103 of file ObjMonitor.h.

Referenced by analyze(), and bookHistograms().

bool ObjMonitor::do_ht_
private

Definition at line 98 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

bool ObjMonitor::do_jet_
private

Definition at line 96 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

bool ObjMonitor::do_met_
private

Definition at line 94 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

StringCutObjectSelector<reco::GsfElectron,true> ObjMonitor::eleSelection_
private

Definition at line 109 of file ObjMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::GsfElectronCollection> ObjMonitor::eleToken_
private

Definition at line 88 of file ObjMonitor.h.

Referenced by analyze().

std::string ObjMonitor::folderName_
private

Definition at line 83 of file ObjMonitor.h.

Referenced by bookHistograms().

std::string ObjMonitor::histoSuffix_
private

Definition at line 84 of file ObjMonitor.h.

HTDQM ObjMonitor::htDQM_
private

Definition at line 99 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

StringCutObjectSelector<reco::PFJet,true > ObjMonitor::htjetSelection_
private

Definition at line 108 of file ObjMonitor.h.

Referenced by analyze().

JetDQM ObjMonitor::jetDQM_
private

Definition at line 97 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

std::string ObjMonitor::jetId_
private

Definition at line 107 of file ObjMonitor.h.

Referenced by analyze().

StringCutObjectSelector<reco::PFJet,true > ObjMonitor::jetSelection_
private

Definition at line 106 of file ObjMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::PFJetCollection> ObjMonitor::jetToken_
private

Definition at line 87 of file ObjMonitor.h.

Referenced by analyze().

METDQM ObjMonitor::metDQM_
private

Definition at line 95 of file ObjMonitor.h.

Referenced by analyze(), bookHistograms(), and ObjMonitor().

StringCutObjectSelector<reco::MET,true> ObjMonitor::metSelection_
private

Definition at line 105 of file ObjMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::PFMETCollection> ObjMonitor::metToken_
private

Definition at line 86 of file ObjMonitor.h.

Referenced by analyze().

StringCutObjectSelector<reco::Muon,true> ObjMonitor::muoSelection_
private

Definition at line 110 of file ObjMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::MuonCollection> ObjMonitor::muoToken_
private

Definition at line 89 of file ObjMonitor.h.

Referenced by analyze().

unsigned ObjMonitor::nelectrons_
private

Definition at line 113 of file ObjMonitor.h.

Referenced by analyze().

unsigned ObjMonitor::njets_
private

Definition at line 112 of file ObjMonitor.h.

Referenced by analyze().

unsigned ObjMonitor::nmuons_
private

Definition at line 114 of file ObjMonitor.h.

Referenced by analyze().

unsigned ObjMonitor::nphotons_
private

Definition at line 115 of file ObjMonitor.h.

Referenced by analyze().

std::unique_ptr<GenericTriggerEventFlag> ObjMonitor::num_genTriggerEventFlag_
private

Definition at line 102 of file ObjMonitor.h.

Referenced by analyze(), and bookHistograms().

StringCutObjectSelector<reco::Photon,true> ObjMonitor::phoSelection_
private

Definition at line 111 of file ObjMonitor.h.

Referenced by analyze().

edm::EDGetTokenT<reco::PhotonCollection> ObjMonitor::phoToken_
private

Definition at line 90 of file ObjMonitor.h.

Referenced by analyze().