CMS 3D CMS Logo

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

#include <DiJetMonitor.h>

Inheritance diagram for DiJetMonitor:
DQMEDAnalyzer TriggerDQMBase 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

 DiJetMonitor (const edm::ParameterSet &)
 
 ~DiJetMonitor () override throw ()
 
- 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 () 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)
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, unsigned nbins, double xmin, double xmax)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, unsigned nbinsX, double xmin, double xmax, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, unsigned nbinsX, double xmin, double xmax, unsigned nbinsY, double ymin, double ymax)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

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)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

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
 
bool dijet_selection (double eta_1, double phi_1, double eta_2, double phi_2, double pt_1, double pt_2, int &tag_id, int &probe_id, int Event)
 
- 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 Attributes

MEbinning asy_binning
 
std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
MEbinning dijet_eta_binning
 
const double DiJet_MAX_ETA = 5
 
const double DiJet_MAX_PHI = 3.2
 
unsigned int DiJet_N_ETA = 20
 
unsigned int DiJet_N_PHI = 32
 
MEbinning dijet_phi_binning
 
MEbinning dijetpt_binning_
 
MEbinning dijetptThr_binning_
 
edm::EDGetTokenT< reco::PFJetCollectiondijetSrc_
 
edm::EDGetTokenT< reco::GsfElectronCollectioneleToken_
 
std::string folderName_
 
std::string histoSuffix_
 
ObjME jetAsyEtaME_
 
ObjME jetEtaPhiME_
 
ObjME jetetaPrbME_
 
ObjME jetetaTagME_
 
ObjME jetphiPrbME_
 
ObjME jetpt1ME_
 
ObjME jetpt2ME_
 
ObjME jetptAsyME_
 
ObjME jetptAvgaME_
 
ObjME jetptAvgaThrME_
 
ObjME jetptAvgbME_
 
ObjME jetptPrbME_
 
ObjME jetptTagME_
 
const double MAX_asy = 1
 
edm::EDGetTokenT< reco::PFMETCollectionmetToken_
 
const double MIN_asy = -1
 
edm::EDGetTokenT< reco::MuonCollectionmuoToken_
 
unsigned int N_asy = 50
 
int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
double ptcut_
 

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 49 of file DiJetMonitor.h.

Constructor & Destructor Documentation

DiJetMonitor::DiJetMonitor ( const edm::ParameterSet iConfig)

Definition at line 14 of file DiJetMonitor.cc.

References dijetpt_binning_, dijetptThr_binning_, dijetSrc_, folderName_, TriggerDQMBase::getHistoPSet(), edm::ParameterSet::getParameter(), ptcut_, and AlCaHLTBitMon_QueryRunRegistry::string.

14  :
15 num_genTriggerEventFlag_ ( new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"),consumesCollector(), *this))
16 ,den_genTriggerEventFlag_ ( new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"),consumesCollector(), *this))
17 {
18  folderName_ = iConfig.getParameter<std::string>("FolderName");
19  dijetSrc_ = mayConsume<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("dijetSrc"));//jet
20 
23 
24  ptcut_ = iConfig.getParameter<double>("ptcut" );
25 
26 }
T getParameter(std::string const &) const
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.h:92
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.h:91
MEbinning dijetpt_binning_
Definition: DiJetMonitor.h:73
MEbinning dijetptThr_binning_
Definition: DiJetMonitor.h:74
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::EDGetTokenT< reco::PFJetCollection > dijetSrc_
Definition: DiJetMonitor.h:70
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
std::string folderName_
Definition: DiJetMonitor.h:64
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
double ptcut_
Definition: DiJetMonitor.h:95
DiJetMonitor::~DiJetMonitor ( )
throw (
)
inlineoverride

Definition at line 53 of file DiJetMonitor.h.

References analyze(), bookHistograms(), dijet_selection(), fillDescriptions(), and iEvent.

53 {};

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 101 of file DiJetMonitor.cc.

References den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, dijet_selection(), dijetSrc_, edm::EventID::event(), MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByToken(), edm::EventBase::id(), edm::HandleBase::isValid(), jetAsyEtaME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetphiPrbME_, jetpt1ME_, jetpt2ME_, jetptAsyME_, jetptAvgaME_, jetptAvgaThrME_, jetptAvgbME_, jetptPrbME_, jetptTagME_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, and ptcut_.

Referenced by ~DiJetMonitor().

101  {
102  int Event = -999;
103  Event = iEvent.id().event();
104  // Filter out events if Trigger Filtering is requested
105  if (den_genTriggerEventFlag_->on() && ! den_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
106 
107  std::vector<double> v_jetpt;
108  std::vector<double> v_jeteta;
109  std::vector<double> v_jetphi;
110 
111  v_jetpt.clear();
112  v_jeteta.clear();
113  v_jetphi.clear();
114 
116  iEvent.getByToken( dijetSrc_, offjets );
117  if (!offjets.isValid()){
118  edm::LogWarning("DiJetMonitor") << "DiJet handle not valid \n";
119  return;
120  }
121  for ( reco::PFJetCollection::const_iterator ibegin = offjets->begin(), iend = offjets->end(), ijet = ibegin; ijet != iend; ++ijet ) {
122  if (ijet->pt()< ptcut_) {continue;}
123  v_jetpt.push_back(ijet->pt());
124  v_jeteta.push_back(ijet->eta());
125  v_jetphi.push_back(ijet->phi());
126  }
127  if (v_jetpt.size() < 2) {return;}
128  double pt_1 = v_jetpt[0];
129  double eta_1 = v_jeteta[0];
130  double phi_1 = v_jetphi[0];
131  double pt_2 = v_jetpt[1];
132  double eta_2 = v_jeteta[1];
133  double phi_2 = v_jetphi[1];
134  double pt_avg_b = (pt_1 + pt_2)*0.5;
135  int tag_id = -999, probe_id = -999;
136 
137  jetpt1ME_.denominator -> Fill(pt_1);
138  jetpt2ME_.denominator -> Fill(pt_2);
139  jetptAvgbME_.denominator -> Fill(pt_avg_b);
140 
141  if( dijet_selection(eta_1, phi_1, eta_2, phi_2, pt_1, pt_2,tag_id, probe_id,Event) ){
142 
143  if(tag_id == 0 && probe_id == 1) {
144  double pt_asy = (pt_2 - pt_1)/(pt_1 + pt_2);
145  double pt_avg = (pt_1 + pt_2)*0.5;
146  jetptAvgaME_.denominator -> Fill(pt_avg);
147  jetptAvgaThrME_.denominator -> Fill(pt_avg);
148  jetptTagME_.denominator -> Fill(pt_1);
149  jetptPrbME_.denominator -> Fill(pt_2);
150  jetetaPrbME_.denominator -> Fill(eta_2);
151  jetetaTagME_.denominator -> Fill(eta_1);
152  jetptAsyME_.denominator ->Fill(pt_asy);
153  jetphiPrbME_.denominator -> Fill(phi_2);
154  jetAsyEtaME_.denominator -> Fill(pt_asy,eta_2);
155  jetEtaPhiME_.denominator -> Fill(eta_2,phi_2);
156  }
157  if(tag_id == 1 && probe_id == 0) {
158  double pt_asy = (pt_1 - pt_2)/(pt_2 + pt_1);
159  double pt_avg = (pt_2 + pt_1)*0.5;
160  jetptAvgaME_.denominator -> Fill(pt_avg);
161  jetptAvgaThrME_.denominator -> Fill(pt_avg);
162  jetptTagME_.denominator -> Fill(pt_2);
163  jetptPrbME_.denominator -> Fill(pt_1);
164  jetetaPrbME_.denominator -> Fill(eta_1);
165  jetetaTagME_.denominator -> Fill(eta_2);
166  jetptAsyME_.denominator ->Fill(pt_asy);
167  jetphiPrbME_.denominator -> Fill(phi_1);
168  jetAsyEtaME_.denominator -> Fill(pt_asy,eta_1);
169  jetEtaPhiME_.denominator -> Fill(eta_1,phi_1);
170  }
171 
172  if (num_genTriggerEventFlag_->on() && ! num_genTriggerEventFlag_->accept( iEvent, iSetup) ) return;
173 
174  jetpt1ME_.numerator -> Fill(pt_1);
175  jetpt2ME_.numerator -> Fill(pt_2);
176  jetptAvgbME_.numerator -> Fill(pt_avg_b);
177 
178  if(tag_id == 0 && probe_id == 1) {
179  double pt_asy = (pt_2 - pt_1)/(pt_1 + pt_2);
180  double pt_avg = (pt_1 + pt_2)*0.5;
181  jetptAvgaME_.numerator -> Fill(pt_avg);
182  jetptAvgaThrME_.numerator -> Fill(pt_avg);
183  jetptTagME_.numerator -> Fill(pt_1);
184  jetptPrbME_.numerator -> Fill(pt_2);
185  jetetaPrbME_.numerator -> Fill(eta_2);
186  jetetaTagME_.numerator -> Fill(eta_1);
187  jetptAsyME_.numerator ->Fill(pt_asy);
188  jetphiPrbME_.numerator -> Fill(phi_2);
189  jetAsyEtaME_.numerator -> Fill(pt_asy,eta_2);
190  jetEtaPhiME_.numerator -> Fill(eta_2,phi_2);
191  }
192  if(tag_id == 1 && probe_id == 0) {
193  double pt_asy = (pt_1 - pt_2)/(pt_2 + pt_1);
194  double pt_avg = (pt_2 + pt_1)*0.5;
195  jetptAvgaME_.numerator -> Fill(pt_avg);
196  jetptAvgaThrME_.numerator -> Fill(pt_avg);
197  jetptTagME_.numerator -> Fill(pt_2);
198  jetptPrbME_.numerator -> Fill(pt_1);
199  jetetaPrbME_.numerator -> Fill(eta_1);
200  jetetaTagME_.numerator -> Fill(eta_2);
201  jetptAsyME_.numerator ->Fill(pt_asy);
202  jetphiPrbME_.numerator -> Fill(phi_1);
203  jetAsyEtaME_.numerator -> Fill(pt_asy,eta_1);
204  jetEtaPhiME_.numerator -> Fill(eta_1,phi_1);
205  }
206  }
207 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.h:85
MonitorElement * numerator
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.h:92
ObjME jetphiPrbME_
Definition: DiJetMonitor.h:87
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.h:91
ObjME jetptPrbME_
Definition: DiJetMonitor.h:83
ObjME jetAsyEtaME_
Definition: DiJetMonitor.h:88
ObjME jetptAvgbME_
Definition: DiJetMonitor.h:81
ObjME jetptAsyME_
Definition: DiJetMonitor.h:84
void Fill(long long x)
edm::EDGetTokenT< reco::PFJetCollection > dijetSrc_
Definition: DiJetMonitor.h:70
int iEvent
Definition: GenABIO.cc:230
ObjME jetetaTagME_
Definition: DiJetMonitor.h:86
MonitorElement * denominator
bool dijet_selection(double eta_1, double phi_1, double eta_2, double phi_2, double pt_1, double pt_2, int &tag_id, int &probe_id, int Event)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double ptcut_
Definition: DiJetMonitor.h:95
bool isValid() const
Definition: HandleBase.h:74
ObjME jetptAvgaME_
Definition: DiJetMonitor.h:79
ObjME jetptTagME_
Definition: DiJetMonitor.h:82
ObjME jetpt2ME_
Definition: DiJetMonitor.h:78
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.h:80
ObjME jetpt1ME_
Definition: DiJetMonitor.h:77
ObjME jetEtaPhiME_
Definition: DiJetMonitor.h:89
void DiJetMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 28 of file DiJetMonitor.cc.

References asy_binning, TriggerDQMBase::bookME(), den_genTriggerEventFlag_, dijet_eta_binning, dijet_phi_binning, dijetpt_binning_, dijetptThr_binning_, folderName_, jetAsyEtaME_, jetEtaPhiME_, jetetaPrbME_, jetetaTagME_, jetphiPrbME_, jetpt1ME_, jetpt2ME_, jetptAsyME_, jetptAvgaME_, jetptAvgaThrME_, jetptAvgbME_, jetptPrbME_, jetptTagME_, TriggerDQMBase::MEbinning::nbins, num_genTriggerEventFlag_, DQMStore::IBooker::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

Referenced by ~DiJetMonitor().

31 {
32 
33  std::string histname, histtitle;
34  std::string currentFolder = folderName_ ;
35  ibooker.setCurrentFolder(currentFolder);
36 
37  histname = "jetpt1"; histtitle = "leading Jet Pt";
39  setMETitle(jetpt1ME_,"Pt_1 [GeV]","events");
40 
41  histname = "jetpt2"; histtitle = "second leading Jet Pt";
43  setMETitle(jetpt2ME_,"Pt_2 [GeV]","events");
44 
45  histname = "jetptAvgB"; histtitle = "Pt average before offline selection";
47  setMETitle(jetptAvgbME_,"(pt_1 + pt_2)*0.5 [GeV]","events");
48 
49  histname = "jetptAvgA"; histtitle = "Pt average after offline selection";
51  setMETitle(jetptAvgaME_,"(pt_1 + pt_2)*0.5 [GeV]","events");
52 
53  histname = "jetptAvgAThr"; histtitle = "Pt average after offline selection";
55  setMETitle(jetptAvgaThrME_,"(pt_1 + pt_2)*0.5 [GeV]","events");
56 
57  histname = "jetptTag"; histtitle = "Tag Jet Pt";
59  setMETitle(jetptTagME_,"Pt_tag [GeV]","events ");
60 
61  histname = "jetptPrb"; histtitle = "Probe Jet Pt";
63  setMETitle(jetptPrbME_,"Pt_prb [GeV]","events");
64 
65  histname = "jetptAsym"; histtitle = "Jet Pt Asymetry";
66  bookME(ibooker,jetptAsyME_,histname,histtitle,asy_binning.nbins,asy_binning.xmin, asy_binning.xmax);
67  setMETitle(jetptAsyME_,"(pt_prb - pt_tag)/(pt_prb + pt_tag)","events");
68 
69  histname = "jetetaPrb"; histtitle = "Probe Jet eta";
71  setMETitle(jetetaPrbME_,"Eta_probe #eta","events");
72 
73  histname = "jetetaTag"; histtitle = "Tag Jet eta";
75  setMETitle(jetetaTagME_,"Eta_tag #eta","events");
76 
77  histname = "ptAsymVSetaPrb"; histtitle = "Pt_Asym vs eta_prb";
79  setMETitle(jetAsyEtaME_,"(pt_prb - pt_tag)/(pt_prb + pt_tag)","Eta_probe #eta");
80 
81  histname = "etaPrbVSphiPrb"; histtitle = "eta_prb vs phi_prb";
83  setMETitle(jetEtaPhiME_,"Eta_probe #eta","Phi_probe #phi");
84 
85  histname = "jetphiPrb"; histtitle = "Probe Jet phi";
87  setMETitle(jetphiPrbME_,"Phi_probe #phi","events");
88 
89  // Initialize the GenericTriggerEventFlag
90  // Initialize the GenericTriggerEventFlag
91  if ( num_genTriggerEventFlag_ && num_genTriggerEventFlag_->on() ) num_genTriggerEventFlag_->initRun( iRun, iSetup );
92  if ( den_genTriggerEventFlag_ && den_genTriggerEventFlag_->on() ) den_genTriggerEventFlag_->initRun( iRun, iSetup );
93 
94 }
ObjME jetetaPrbME_
Definition: DiJetMonitor.h:85
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: DiJetMonitor.h:92
ObjME jetphiPrbME_
Definition: DiJetMonitor.h:87
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: DiJetMonitor.h:91
ObjME jetptPrbME_
Definition: DiJetMonitor.h:83
MEbinning dijetpt_binning_
Definition: DiJetMonitor.h:73
ObjME jetAsyEtaME_
Definition: DiJetMonitor.h:88
MEbinning asy_binning
Definition: DiJetMonitor.h:116
MEbinning dijetptThr_binning_
Definition: DiJetMonitor.h:74
ObjME jetptAvgbME_
Definition: DiJetMonitor.h:81
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
ObjME jetptAsyME_
Definition: DiJetMonitor.h:84
ObjME jetetaTagME_
Definition: DiJetMonitor.h:86
MEbinning dijet_phi_binning
Definition: DiJetMonitor.h:101
std::string folderName_
Definition: DiJetMonitor.h:64
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
ObjME jetptAvgaME_
Definition: DiJetMonitor.h:79
ObjME jetptTagME_
Definition: DiJetMonitor.h:82
MEbinning dijet_eta_binning
Definition: DiJetMonitor.h:108
ObjME jetpt2ME_
Definition: DiJetMonitor.h:78
ObjME jetptAvgaThrME_
Definition: DiJetMonitor.h:80
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, unsigned nbins, double xmin, double xmax)
ObjME jetpt1ME_
Definition: DiJetMonitor.h:77
ObjME jetEtaPhiME_
Definition: DiJetMonitor.h:89
bool DiJetMonitor::dijet_selection ( double  eta_1,
double  phi_1,
double  eta_2,
double  phi_2,
double  pt_1,
double  pt_2,
int &  tag_id,
int &  probe_id,
int  Event 
)
protected

Definition at line 257 of file DiJetMonitor.cc.

References funct::abs(), and DEFINE_FWK_MODULE.

Referenced by analyze(), and ~DiJetMonitor().

257  {
258  double etacut = 1.7;
259  double phicut = 2.7;
260 
261  bool passeta = (std::abs(eta_1)< etacut || std::abs(eta_2) < etacut );//check that one of the jets in the barrel
262 
263  float delta_phi_1_2= (phi_1 - phi_2);
264  bool other_cuts = (std::abs(delta_phi_1_2) >= phicut); //check that jets are back to back
265 
266  if(std::abs(eta_1)<etacut && std::abs(eta_2)>etacut) {
267  tag_id = 0;
268  probe_id = 1;
269  }
270  else
271  if(std::abs(eta_2)<etacut && std::abs(eta_1)>etacut) {
272  tag_id = 1;
273  probe_id = 0;
274  }
275  else
276  if(std::abs(eta_2)<etacut && std::abs(eta_1)<etacut){
277  int numb = Event % 2;
278  if(numb==0){
279  tag_id = 0;
280  probe_id = 1;
281  }
282  if(numb==1){
283  tag_id = 1;
284  probe_id = 0;
285  }
286  }
287  if (passeta && other_cuts)
288  return true;
289  else
290  return false;
291 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void DiJetMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 209 of file DiJetMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), create_public_pileup_plots::bins, TriggerDQMBase::fillHistoLSPSetDescription(), TriggerDQMBase::fillHistoPSetDescription(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by ~DiJetMonitor().

210 {
212  desc.add<std::string> ( "FolderName", "HLT/JME/Jets/AK4/PF" );
213 
214  desc.add<edm::InputTag>( "met", edm::InputTag("pfMet") );
215  desc.add<edm::InputTag>( "dijetSrc", edm::InputTag("ak4PFJets") );
216  desc.add<edm::InputTag>( "electrons",edm::InputTag("gedGsfElectrons") );
217  desc.add<edm::InputTag>( "muons", edm::InputTag("muons") );
218  desc.add<int>("njets", 0);
219  desc.add<int>("nelectrons", 0);
220  desc.add<double>("ptcut", 20);
221 
222  edm::ParameterSetDescription genericTriggerEventPSet;
223  genericTriggerEventPSet.add<bool>("andOr");
224  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi") );
225  genericTriggerEventPSet.add<std::vector<int> >("dcsPartitions",{});
226  genericTriggerEventPSet.add<bool>("andOrDcs", false);
227  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
228  genericTriggerEventPSet.add<std::string>("dbLabel","");
229  genericTriggerEventPSet.add<bool>("andOrHlt", true);
230  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT") );
231  genericTriggerEventPSet.add<std::vector<std::string> >("hltPaths",{});
232  genericTriggerEventPSet.add<bool>("errorReplyHlt",false);
233  genericTriggerEventPSet.add<unsigned int>("verbosityLevel",1);
234 
235  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
236  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
237 
240  edm::ParameterSetDescription dijetPtThrPSet;
241  fillHistoPSetDescription(dijetPSet);
242  fillHistoPSetDescription(dijetPtThrPSet);
243  histoPSet.add<edm::ParameterSetDescription>("dijetPSet", dijetPSet);
244  histoPSet.add<edm::ParameterSetDescription>("dijetPtThrPSet", dijetPtThrPSet);
245  std::vector<double> bins = {0.,20.,40.,60.,80.,90.,100.,110.,120.,130.,140.,150.,160.,170.,180.,190.,200.,220.,240.,260.,280.,300.,350.,400.,450.,1000.}; // DiJet pT Binning
246  histoPSet.add<std::vector<double> >("jetptBinning", bins);
247 
250  histoPSet.add<edm::ParameterSetDescription>("lsPSet", lsPSet);
251  desc.add<edm::ParameterSetDescription>("histoPSet",histoPSet);
252 
253  descriptions.add("dijetMonitoring", desc);
254 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

MEbinning DiJetMonitor::asy_binning
private
Initial value:

Definition at line 116 of file DiJetMonitor.h.

Referenced by bookHistograms().

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

Definition at line 92 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

MEbinning DiJetMonitor::dijet_eta_binning
private
Initial value:
{
DiJet_N_ETA, -DiJet_MAX_ETA, DiJet_MAX_ETA
}

Definition at line 108 of file DiJetMonitor.h.

Referenced by bookHistograms().

const double DiJetMonitor::DiJet_MAX_ETA = 5
private

Definition at line 105 of file DiJetMonitor.h.

const double DiJetMonitor::DiJet_MAX_PHI = 3.2
private

Definition at line 98 of file DiJetMonitor.h.

unsigned int DiJetMonitor::DiJet_N_ETA = 20
private

Definition at line 107 of file DiJetMonitor.h.

unsigned int DiJetMonitor::DiJet_N_PHI = 32
private

Definition at line 100 of file DiJetMonitor.h.

MEbinning DiJetMonitor::dijet_phi_binning
private
Initial value:
{
DiJet_N_PHI, -DiJet_MAX_PHI, DiJet_MAX_PHI
}

Definition at line 101 of file DiJetMonitor.h.

Referenced by bookHistograms().

MEbinning DiJetMonitor::dijetpt_binning_
private

Definition at line 73 of file DiJetMonitor.h.

Referenced by bookHistograms(), and DiJetMonitor().

MEbinning DiJetMonitor::dijetptThr_binning_
private

Definition at line 74 of file DiJetMonitor.h.

Referenced by bookHistograms(), and DiJetMonitor().

edm::EDGetTokenT<reco::PFJetCollection> DiJetMonitor::dijetSrc_
private

Definition at line 70 of file DiJetMonitor.h.

Referenced by analyze(), and DiJetMonitor().

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

Definition at line 68 of file DiJetMonitor.h.

std::string DiJetMonitor::folderName_
private

Definition at line 64 of file DiJetMonitor.h.

Referenced by bookHistograms(), and DiJetMonitor().

std::string DiJetMonitor::histoSuffix_
private

Definition at line 65 of file DiJetMonitor.h.

ObjME DiJetMonitor::jetAsyEtaME_
private

Definition at line 88 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetEtaPhiME_
private

Definition at line 89 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetetaPrbME_
private

Definition at line 85 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetetaTagME_
private

Definition at line 86 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetphiPrbME_
private

Definition at line 87 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetpt1ME_
private

Definition at line 77 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetpt2ME_
private

Definition at line 78 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAsyME_
private

Definition at line 84 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgaME_
private

Definition at line 79 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgaThrME_
private

Definition at line 80 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptAvgbME_
private

Definition at line 81 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptPrbME_
private

Definition at line 83 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

ObjME DiJetMonitor::jetptTagME_
private

Definition at line 82 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

const double DiJetMonitor::MAX_asy = 1
private

Definition at line 112 of file DiJetMonitor.h.

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

Definition at line 67 of file DiJetMonitor.h.

const double DiJetMonitor::MIN_asy = -1
private

Definition at line 113 of file DiJetMonitor.h.

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

Definition at line 69 of file DiJetMonitor.h.

unsigned int DiJetMonitor::N_asy = 50
private

Definition at line 115 of file DiJetMonitor.h.

int DiJetMonitor::nmuons_
private

Definition at line 94 of file DiJetMonitor.h.

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

Definition at line 91 of file DiJetMonitor.h.

Referenced by analyze(), and bookHistograms().

double DiJetMonitor::ptcut_
private

Definition at line 95 of file DiJetMonitor.h.

Referenced by analyze(), and DiJetMonitor().