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::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 ObjMonitor (const edm::ParameterSet &)
 
 ~ObjMonitor () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () 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 DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
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_
 
int nelectrons_
 
int njets_
 
int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

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  , do_met_ (iConfig.getParameter<bool>("doMETHistos") )
25  , do_jet_ (iConfig.getParameter<bool>("doJetHistos") )
26  , do_ht_ (iConfig.getParameter<bool>("doHTHistos") )
27  , num_genTriggerEventFlag_(std::make_unique<GenericTriggerEventFlag>(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"),consumesCollector(), *this))
28  , den_genTriggerEventFlag_(std::make_unique<GenericTriggerEventFlag>(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"),consumesCollector(), *this))
29  , metSelection_ ( iConfig.getParameter<std::string>("metSelection") )
30  , jetSelection_ ( iConfig.getParameter<std::string>("jetSelection") )
31  , jetId_ ( iConfig.getParameter<std::string>("jetId") )
32  , htjetSelection_ ( iConfig.getParameter<std::string>("htjetSelection"))
33  , eleSelection_ ( iConfig.getParameter<std::string>("eleSelection") )
34  , muoSelection_ ( iConfig.getParameter<std::string>("muoSelection") )
35  , njets_ ( iConfig.getParameter<int>("njets" ) )
36  , nelectrons_ ( iConfig.getParameter<int>("nelectrons" ) )
37  , nmuons_ ( iConfig.getParameter<int>("nmuons" ) )
38 {
39  if (do_met_){
40  metDQM_.initialise(iConfig);
41  }
42  if (do_jet_){
43  jetDQM_.initialise(iConfig);
44  }
45  if (do_ht_ ){
46  htDQM_.initialise(iConfig);
47  }
48 }
T getParameter(std::string const &) const
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:104
std::string jetId_
Definition: ObjMonitor.h:106
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: ObjMonitor.h:101
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:105
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: ObjMonitor.h:102
std::string folderName_
Definition: ObjMonitor.h:83
bool do_met_
Definition: ObjMonitor.h:93
bool do_jet_
Definition: ObjMonitor.h:95
int nelectrons_
Definition: ObjMonitor.h:111
bool do_ht_
Definition: ObjMonitor.h:97
JetDQM jetDQM_
Definition: ObjMonitor.h:96
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: ObjMonitor.h:87
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: ObjMonitor.h:109
StringCutObjectSelector< reco::PFJet, true > htjetSelection_
Definition: ObjMonitor.h:107
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: ObjMonitor.h:89
METDQM metDQM_
Definition: ObjMonitor.h:94
StringCutObjectSelector< reco::GsfElectron, true > eleSelection_
Definition: ObjMonitor.h:108
HTDQM htDQM_
Definition: ObjMonitor.h:98
ObjMonitor::~ObjMonitor ( )
overridedefault

Referenced by ObjMonitor().

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 70 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_, num_genTriggerEventFlag_, phi, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), and tightJetId().

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

Implements DQMEDAnalyzer.

Definition at line 52 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.

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

Definition at line 175 of file ObjMonitor.cc.

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

176 {
178  desc.add<std::string> ( "FolderName", "HLT/OBJ" );
179 
180  desc.add<edm::InputTag>( "met", edm::InputTag("pfMet") );
181  desc.add<edm::InputTag>( "jets", edm::InputTag("ak4PFJetsCHS") );
182  desc.add<edm::InputTag>( "electrons",edm::InputTag("gedGsfElectrons") );
183  desc.add<edm::InputTag>( "muons", edm::InputTag("muons") );
184  desc.add<std::string>("metSelection", "pt > 0");
185  desc.add<std::string>("jetSelection", "pt > 0");
186  desc.add<std::string>("jetId", "");
187  desc.add<std::string>("htjetSelection", "pt > 30");
188  desc.add<std::string>("eleSelection", "pt > 0");
189  desc.add<std::string>("muoSelection", "pt > 0");
190  desc.add<int>("njets", 0);
191  desc.add<int>("nelectrons", 0);
192  desc.add<int>("nmuons", 0);
193 
194  edm::ParameterSetDescription genericTriggerEventPSet;
195  genericTriggerEventPSet.add<bool>("andOr");
196  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi") );
197  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions",{});
198  genericTriggerEventPSet.add<bool>("andOrDcs", false);
199  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
200  genericTriggerEventPSet.add<std::string>("dbLabel","");
201  genericTriggerEventPSet.add<bool>("andOrHlt", true);
202  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT") );
203  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths",{});
204  genericTriggerEventPSet.add<std::string>("hltDBKey","");
205  genericTriggerEventPSet.add<bool>("errorReplyHlt",false);
206  genericTriggerEventPSet.add<unsigned int>("verbosityLevel",1);
207 
208  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
209  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
210 
211  desc.add<bool>("doMETHistos", true);
213  METDQM::fillMetDescription(histoPSet);
214  desc.add<bool>("doJetHistos", true);
215  JetDQM::fillJetDescription(histoPSet);
216  desc.add<bool>("doHTHistos", true);
217  HTDQM::fillHtDescription(histoPSet);
218 
219  desc.add<edm::ParameterSetDescription>("histoPSet",histoPSet);
220 
221  descriptions.add("objMonitoring", desc);
222 }
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 135 of file ObjMonitor.cc.

Referenced by analyze().

142 {
143  if (abseta<=2.7){
144  unsigned NumConst = CHM+NumNeutralParticles;
145 
146  return ((NumConst>1 && NHF<0.99 && NEMF<0.99) && ((abseta<=2.4 && CHF>0 && CHM>0 && CEMF<0.99) || abseta>2.4));
147  }
148  else if (abseta<=3){
149  return (NumNeutralParticles>2 && NEMF>0.01 && NHF<0.98);
150  }
151  else {
152  return NumNeutralParticles>10 && NEMF<0.90;
153  }
154 }
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 155 of file ObjMonitor.cc.

Referenced by analyze().

162 {
163  if (abseta<=2.7){
164  unsigned NumConst = CHM+NumNeutralParticles;
165  return (NumConst>1 && NHF<0.90 && NEMF<0.90 ) && ((abseta<=2.4 && CHF>0 && CHM>0 && CEMF<0.99) || abseta>2.4);
166  }
167  else if (abseta<=3){
168  return (NHF<0.98 && NEMF>0.01 && NumNeutralParticles>2);
169  }
170  else {
171  return (NEMF<0.90 && NumNeutralParticles>10);
172  }
173 }

Member Data Documentation

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

Definition at line 102 of file ObjMonitor.h.

Referenced by analyze(), and bookHistograms().

bool ObjMonitor::do_ht_
private

Definition at line 97 of file ObjMonitor.h.

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

bool ObjMonitor::do_jet_
private

Definition at line 95 of file ObjMonitor.h.

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

bool ObjMonitor::do_met_
private

Definition at line 93 of file ObjMonitor.h.

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

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

Definition at line 108 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 98 of file ObjMonitor.h.

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

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

Definition at line 107 of file ObjMonitor.h.

Referenced by analyze().

JetDQM ObjMonitor::jetDQM_
private

Definition at line 96 of file ObjMonitor.h.

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

std::string ObjMonitor::jetId_
private

Definition at line 106 of file ObjMonitor.h.

Referenced by analyze().

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

Definition at line 105 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 94 of file ObjMonitor.h.

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

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

Definition at line 104 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 109 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().

int ObjMonitor::nelectrons_
private

Definition at line 111 of file ObjMonitor.h.

Referenced by analyze().

int ObjMonitor::njets_
private

Definition at line 110 of file ObjMonitor.h.

Referenced by analyze().

int ObjMonitor::nmuons_
private

Definition at line 112 of file ObjMonitor.h.

Referenced by analyze().

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

Definition at line 101 of file ObjMonitor.h.

Referenced by analyze(), and bookHistograms().