CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
RazorMonitor Class Reference
Inheritance diagram for RazorMonitor:
DQMEDAnalyzer TriggerDQMBase edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 RazorMonitor (const edm::ParameterSet &)
 
 ~RazorMonitor () override throw ()
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static double CalcMR (const math::XYZTLorentzVector &ja, const math::XYZTLorentzVector &jb)
 
static double CalcR (double MR, const math::XYZTLorentzVector &ja, const math::XYZTLorentzVector &jb, const edm::Handle< std::vector< reco::PFMET > > &met)
 
static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (edm::ParameterSet const &)
 
- 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
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

std::unique_ptr
< GenericTriggerEventFlag
den_genTriggerEventFlag_
 
std::vector< double > dphiR_binning_
 
ObjME dPhiR_ME_
 
const std::string folderName_
 
bool hltPathsAreValid_
 
StringCutObjectSelector
< reco::PFJet, true > 
jetSelection_
 
edm::EDGetTokenT
< reco::PFJetCollection
jetToken_
 
StringCutObjectSelector
< reco::MET, true > 
metSelection_
 
edm::EDGetTokenT
< reco::PFMETCollection
metToken_
 
std::vector< double > mr_binning_
 
ObjME MR_ME_
 
float mrCut_
 
ObjME MRVsRsq_ME_
 
unsigned int njets_
 
std::unique_ptr
< GenericTriggerEventFlag
num_genTriggerEventFlag_
 
const bool requireValidHLTPaths_
 
std::vector< double > rsq_binning_
 
ObjME Rsq_ME_
 
float rsqCut_
 
edm::EDGetTokenT< std::vector
< math::XYZTLorentzVector > > 
theHemispheres_
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 31 of file RazorMonitor.cc.

Member Typedef Documentation

Definition at line 34 of file RazorMonitor.cc.

Definition at line 33 of file RazorMonitor.cc.

Constructor & Destructor Documentation

RazorMonitor::RazorMonitor ( const edm::ParameterSet iConfig)

Definition at line 89 of file RazorMonitor.cc.

90  : folderName_(iConfig.getParameter<std::string>("FolderName")),
91  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
92  hltPathsAreValid_(false),
93  metToken_(consumes<reco::PFMETCollection>(iConfig.getParameter<edm::InputTag>("met"))),
94  jetToken_(mayConsume<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("jets"))),
96  consumes<std::vector<math::XYZTLorentzVector> >(iConfig.getParameter<edm::InputTag>("hemispheres"))),
97  rsq_binning_(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("rsqBins")),
98  mr_binning_(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("mrBins")),
100  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double> >("dphiRBins")),
102  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
104  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
105  metSelection_(iConfig.getParameter<std::string>("metSelection")),
106  jetSelection_(iConfig.getParameter<std::string>("jetSelection")),
107  njets_(iConfig.getParameter<unsigned int>("njets")),
108  rsqCut_(iConfig.getParameter<double>("rsqCut")),
109  mrCut_(iConfig.getParameter<double>("mrCut")) {}
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: RazorMonitor.cc:57
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: RazorMonitor.cc:56
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: RazorMonitor.cc:69
bool hltPathsAreValid_
Definition: RazorMonitor.cc:54
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: RazorMonitor.cc:72
edm::EDGetTokenT< std::vector< math::XYZTLorentzVector > > theHemispheres_
Definition: RazorMonitor.cc:58
unsigned int njets_
Definition: RazorMonitor.cc:74
std::vector< double > mr_binning_
Definition: RazorMonitor.cc:61
std::vector< double > dphiR_binning_
Definition: RazorMonitor.cc:62
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: RazorMonitor.cc:73
std::vector< double > rsq_binning_
Definition: RazorMonitor.cc:60
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: RazorMonitor.cc:70
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const std::string folderName_
Definition: RazorMonitor.cc:51
const bool requireValidHLTPaths_
Definition: RazorMonitor.cc:53
RazorMonitor::~RazorMonitor ( )
throw (
)
override

Definition at line 111 of file RazorMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

111  {
113  num_genTriggerEventFlag_.reset();
114  }
116  den_genTriggerEventFlag_.reset();
117  }
118 }
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: RazorMonitor.cc:69
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: RazorMonitor.cc:70

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 168 of file RazorMonitor.cc.

References funct::abs(), CalcMR(), CalcR(), srCondWrite_cfg::deltaPhi, den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, dPhiR_ME_, relativeConstraints::empty, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), razorHemispheres_cff::hemispheres, hltPathsAreValid_, edm::HandleBase::isValid(), dqmiolumiharvest::j, fwrapper::jets, jetSelection_, jetToken_, metSelection_, metToken_, MR_ME_, mrCut_, MRVsRsq_ME_, njets_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, dttmaxenums::R, requireValidHLTPaths_, Rsq_ME_, rsqCut_, and theHemispheres_.

168  {
169  // if valid HLT paths are required,
170  // analyze event only if all paths are valid
172  return;
173  }
174 
175  // Filter out events if Trigger Filtering is requested
176  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
177  return;
178 
179  //met collection
181  iEvent.getByToken(metToken_, metHandle);
182  reco::PFMET pfmet = metHandle->front();
183  if (!metSelection_(pfmet))
184  return;
185 
186  //jet collection, track # of jets for two working points
188  iEvent.getByToken(jetToken_, jetHandle);
189  std::vector<reco::PFJet> jets;
190  if (jetHandle->size() < njets_)
191  return;
192  for (auto const& j : *jetHandle) {
193  if (jetSelection_(j))
194  jets.push_back(j);
195  }
196  if (jets.size() < njets_)
197  return;
198 
199  //razor hemisphere clustering from previous step
201  iEvent.getByToken(theHemispheres_, hemispheres);
202 
203  if (not hemispheres.isValid()) {
204  return;
205  }
206 
207  if (hemispheres
208  ->empty()) { // the Hemisphere Maker will produce an empty collection of hemispheres if # of jets is too high
209  edm::LogError("DQM_HLT_Razor") << "Cannot calculate M_R and R^2 because there are too many jets! (trigger passed "
210  "automatically without forming the hemispheres)"
211  << endl;
212  return;
213  }
214 
215  // should always have 2 hemispheres -- no muons included (c. 2017), if not return invalid hemisphere collection
216  // retaining check for hemisphere size 5 or 10 which correspond to the one or two muon case for possible future use
217  if (!hemispheres->empty() && hemispheres->size() != 2 && hemispheres->size() != 5 && hemispheres->size() != 10) {
218  edm::LogError("DQM_HLT_Razor") << "Invalid hemisphere collection! hemispheres->size() = " << hemispheres->size()
219  << endl;
220  return;
221  }
222 
223  //calculate razor variables, with hemispheres pT-ordered
224  double MR = 0, R = 0;
225  if (hemispheres->at(1).Pt() > hemispheres->at(0).Pt()) {
226  MR = CalcMR(hemispheres->at(1), hemispheres->at(0));
227  R = CalcR(MR, hemispheres->at(1), hemispheres->at(0), metHandle);
228  } else {
229  MR = CalcMR(hemispheres->at(0), hemispheres->at(1));
230  R = CalcR(MR, hemispheres->at(0), hemispheres->at(1), metHandle);
231  }
232 
233  double Rsq = R * R;
234  double dPhiR = abs(deltaPhi(hemispheres->at(0).Phi(), hemispheres->at(1).Phi()));
235 
236  //apply offline selection cuts
237  if (Rsq < rsqCut_ && MR < mrCut_)
238  return;
239 
240  // applying selection for denominator
241  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
242  return;
243 
244  // filling histograms (denominator)
245  if (Rsq >= rsqCut_) {
246  MR_ME_.denominator->Fill(MR);
247  }
248 
249  if (MR >= mrCut_) {
250  Rsq_ME_.denominator->Fill(Rsq);
251  }
252 
253  dPhiR_ME_.denominator->Fill(dPhiR);
254 
255  MRVsRsq_ME_.denominator->Fill(MR, Rsq);
256 
257  // applying selection for numerator
258  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
259  return;
260 
261  // filling histograms (numerator)
262  if (Rsq >= rsqCut_) {
263  MR_ME_.numerator->Fill(MR);
264  }
265 
266  if (MR >= mrCut_) {
267  Rsq_ME_.numerator->Fill(Rsq);
268  }
269 
270  dPhiR_ME_.numerator->Fill(dPhiR);
271 
272  MRVsRsq_ME_.numerator->Fill(MR, Rsq);
273 }
edm::EDGetTokenT< reco::PFJetCollection > jetToken_
Definition: RazorMonitor.cc:57
edm::EDGetTokenT< reco::PFMETCollection > metToken_
Definition: RazorMonitor.cc:56
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: RazorMonitor.cc:69
static double CalcMR(const math::XYZTLorentzVector &ja, const math::XYZTLorentzVector &jb)
bool hltPathsAreValid_
Definition: RazorMonitor.cc:54
Log< level::Error, false > LogError
ObjME MRVsRsq_ME_
Definition: RazorMonitor.cc:67
void Fill(long long x)
StringCutObjectSelector< reco::MET, true > metSelection_
Definition: RazorMonitor.cc:72
edm::EDGetTokenT< std::vector< math::XYZTLorentzVector > > theHemispheres_
Definition: RazorMonitor.cc:58
unsigned int njets_
Definition: RazorMonitor.cc:74
int iEvent
Definition: GenABIO.cc:224
vector< PseudoJet > jets
MonitorElement * denominator
MonitorElement * numerator
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isValid() const
Definition: HandleBase.h:70
StringCutObjectSelector< reco::PFJet, true > jetSelection_
Definition: RazorMonitor.cc:73
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: RazorMonitor.cc:70
static double CalcR(double MR, const math::XYZTLorentzVector &ja, const math::XYZTLorentzVector &jb, const edm::Handle< std::vector< reco::PFMET > > &met)
const bool requireValidHLTPaths_
Definition: RazorMonitor.cc:53
void RazorMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 120 of file RazorMonitor.cc.

References TriggerDQMBase::bookME(), den_genTriggerEventFlag_, dphiR_binning_, dPhiR_ME_, folderName_, hltPathsAreValid_, mr_binning_, MR_ME_, MRVsRsq_ME_, num_genTriggerEventFlag_, requireValidHLTPaths_, rsq_binning_, Rsq_ME_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

120  {
121  // Initialize the GenericTriggerEventFlag
123  num_genTriggerEventFlag_->initRun(iRun, iSetup);
125  den_genTriggerEventFlag_->initRun(iRun, iSetup);
126 
127  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
129  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
130  den_genTriggerEventFlag_->allHLTPathsAreValid());
131 
132  // if valid HLT paths are required,
133  // create DQM outputs only if all paths are valid
135  return;
136  }
137 
138  std::string histname, histtitle;
139 
140  std::string currentFolder = folderName_;
141  ibooker.setCurrentFolder(currentFolder);
142 
143  // 1D hist, MR
144  histname = "MR";
145  histtitle = "PF MR";
146  bookME(ibooker, MR_ME_, histname, histtitle, mr_binning_);
147  setMETitle(MR_ME_, "PF M_{R} [GeV]", "events / [GeV]");
148 
149  // 1D hist, Rsq
150  histname = "Rsq";
151  histtitle = "PF Rsq";
152  bookME(ibooker, Rsq_ME_, histname, histtitle, rsq_binning_);
153  setMETitle(Rsq_ME_, "PF R^{2}", "events");
154 
155  // 1D hist, dPhiR
156  histname = "dPhiR";
157  histtitle = "dPhiR";
158  bookME(ibooker, dPhiR_ME_, histname, histtitle, dphiR_binning_);
159  setMETitle(dPhiR_ME_, "dPhi_{R}", "events");
160 
161  // 2D hist, MR & Rsq
162  histname = "MRVsRsq";
163  histtitle = "PF MR vs PF Rsq";
164  bookME(ibooker, MRVsRsq_ME_, histname, histtitle, mr_binning_, rsq_binning_);
165  setMETitle(MRVsRsq_ME_, "M_{R} [GeV]", "R^{2}");
166 }
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: RazorMonitor.cc:69
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
bool hltPathsAreValid_
Definition: RazorMonitor.cc:54
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
ObjME MRVsRsq_ME_
Definition: RazorMonitor.cc:67
std::vector< double > mr_binning_
Definition: RazorMonitor.cc:61
std::vector< double > dphiR_binning_
Definition: RazorMonitor.cc:62
std::vector< double > rsq_binning_
Definition: RazorMonitor.cc:60
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: RazorMonitor.cc:70
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
const std::string folderName_
Definition: RazorMonitor.cc:51
const bool requireValidHLTPaths_
Definition: RazorMonitor.cc:53
double RazorMonitor::CalcMR ( const math::XYZTLorentzVector ja,
const math::XYZTLorentzVector jb 
)
static

Definition at line 314 of file RazorMonitor.cc.

References A, B, and mathSSE::sqrt().

Referenced by analyze().

314  {
315  if (ja.Pt() <= 0.1)
316  return -1;
317 
318  double A = ja.P();
319  double B = jb.P();
320  double az = ja.Pz();
321  double bz = jb.Pz();
322  TVector3 jaT, jbT;
323  jaT.SetXYZ(ja.Px(), ja.Py(), 0.0);
324  jbT.SetXYZ(jb.Px(), jb.Py(), 0.0);
325  double ATBT = (jaT + jbT).Mag2();
326 
327  double MR = sqrt((A + B) * (A + B) - (az + bz) * (az + bz) -
328  (jbT.Dot(jbT) - jaT.Dot(jaT)) * (jbT.Dot(jbT) - jaT.Dot(jaT)) / (jaT + jbT).Mag2());
329  double mybeta = (jbT.Dot(jbT) - jaT.Dot(jaT)) / sqrt(ATBT * ((A + B) * (A + B) - (az + bz) * (az + bz)));
330 
331  double mygamma = 1. / sqrt(1. - mybeta * mybeta);
332 
333  //use gamma times MRstar
334  return MR * mygamma;
335 }
Definition: APVGainStruct.h:7
T sqrt(T t)
Definition: SSEVec.h:19
Definition: APVGainStruct.h:7
double RazorMonitor::CalcR ( double  MR,
const math::XYZTLorentzVector ja,
const math::XYZTLorentzVector jb,
const edm::Handle< std::vector< reco::PFMET > > &  met 
)
static

Definition at line 337 of file RazorMonitor.cc.

References objects.METAnalyzer::met, and mathSSE::sqrt().

Referenced by analyze().

340  {
341  //now we can calculate MTR
342  const math::XYZVector met = (inputMet->front()).momentum();
343 
344  double MTR = sqrt(0.5 * (met.R() * (ja.Pt() + jb.Pt()) - met.Dot(ja.Vect() + jb.Vect())));
345 
346  //filter events
347  return float(MTR) / float(MR); //R
348 }
T sqrt(T t)
Definition: SSEVec.h:19
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
void RazorMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 275 of file RazorMonitor.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, GenericTriggerEventFlag::fillPSetDescription(), HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

275  {
277  desc.add<std::string>("FolderName", "HLT/SUSY/Razor");
278  desc.add<bool>("requireValidHLTPaths", true);
279 
280  desc.add<edm::InputTag>("met", edm::InputTag("pfMet"));
281  desc.add<edm::InputTag>("jets", edm::InputTag("ak4PFJetsCHS"));
282  desc.add<edm::InputTag>("hemispheres", edm::InputTag("hemispheresDQM"))
283  ->setComment("hemisphere jets used to compute razor variables");
284  desc.add<std::string>("metSelection", "pt > 0");
285 
286  // from 2016 offline selection
287  desc.add<std::string>("jetSelection", "pt > 80");
288  desc.add<unsigned int>("njets", 2);
289  desc.add<double>("mrCut", 300);
290  desc.add<double>("rsqCut", 0.15);
291 
292  edm::ParameterSetDescription genericTriggerEventPSet;
293  GenericTriggerEventFlag::fillPSetDescription(genericTriggerEventPSet);
294  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
295  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
296 
297  //binning from 2016 offline selection
299  std::vector<double> mrbins = {0., 100., 200., 300., 400., 500., 575., 650., 750., 900., 1200., 1600., 2500., 4000.};
300  histoPSet.add<std::vector<double> >("mrBins", mrbins);
301 
302  std::vector<double> rsqbins = {0., 0.05, 0.1, 0.15, 0.2, 0.25, 0.30, 0.41, 0.52, 0.64, 0.8, 1.5};
303  histoPSet.add<std::vector<double> >("rsqBins", rsqbins);
304 
305  std::vector<double> dphirbins = {0., 0.5, 1.0, 1.5, 2.0, 2.5, 2.8, 3.0, 3.2};
306  histoPSet.add<std::vector<double> >("dphiRBins", dphirbins);
307 
308  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
309 
310  descriptions.add("razorMonitoring", desc);
311 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

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

Definition at line 70 of file RazorMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~RazorMonitor().

std::vector<double> RazorMonitor::dphiR_binning_
private

Definition at line 62 of file RazorMonitor.cc.

Referenced by bookHistograms().

ObjME RazorMonitor::dPhiR_ME_
private

Definition at line 66 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

const std::string RazorMonitor::folderName_
private

Definition at line 51 of file RazorMonitor.cc.

Referenced by bookHistograms().

bool RazorMonitor::hltPathsAreValid_
private

Definition at line 54 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 73 of file RazorMonitor.cc.

Referenced by analyze().

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

Definition at line 57 of file RazorMonitor.cc.

Referenced by analyze().

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

Definition at line 72 of file RazorMonitor.cc.

Referenced by analyze().

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

Definition at line 56 of file RazorMonitor.cc.

Referenced by analyze().

std::vector<double> RazorMonitor::mr_binning_
private

Definition at line 61 of file RazorMonitor.cc.

Referenced by bookHistograms().

ObjME RazorMonitor::MR_ME_
private

Definition at line 64 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

float RazorMonitor::mrCut_
private

Definition at line 76 of file RazorMonitor.cc.

Referenced by analyze().

ObjME RazorMonitor::MRVsRsq_ME_
private

Definition at line 67 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

unsigned int RazorMonitor::njets_
private

Definition at line 74 of file RazorMonitor.cc.

Referenced by analyze().

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

Definition at line 69 of file RazorMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~RazorMonitor().

const bool RazorMonitor::requireValidHLTPaths_
private

Definition at line 53 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

std::vector<double> RazorMonitor::rsq_binning_
private

Definition at line 60 of file RazorMonitor.cc.

Referenced by bookHistograms().

ObjME RazorMonitor::Rsq_ME_
private

Definition at line 65 of file RazorMonitor.cc.

Referenced by analyze(), and bookHistograms().

float RazorMonitor::rsqCut_
private

Definition at line 75 of file RazorMonitor.cc.

Referenced by analyze().

edm::EDGetTokenT<std::vector<math::XYZTLorentzVector> > RazorMonitor::theHemispheres_
private

Definition at line 58 of file RazorMonitor.cc.

Referenced by analyze().