CMS 3D CMS Logo

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

#include <SUSY_HLT_DiJet_MET.h>

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

 SUSY_HLT_DiJet_MET (const edm::ParameterSet &ps)
 
 ~SUSY_HLT_DiJet_MET () 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
 
 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)
 

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &run, edm::EventSetup const &eSetup) 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

void bookHistos (DQMStore::IBooker &)
 

Private Attributes

double etaThrJet_
 
double etaThrJetTrig_
 
HLTConfigProvider fHltConfig
 
MonitorElementh_caloMetvsPFMet
 
MonitorElementh_pfJet1Jet2DPhi
 
MonitorElementh_pfJet2PtTurnOn_den
 
MonitorElementh_pfJet2PtTurnOn_num
 
MonitorElementh_pfJetEta
 
MonitorElementh_pfJetPhi
 
MonitorElementh_pfJetPt
 
MonitorElementh_pfMetPhi
 
MonitorElementh_pfMetTurnOn_den
 
MonitorElementh_pfMetTurnOn_num
 
MonitorElementh_triggerJetEta
 
MonitorElementh_triggerJetPhi
 
MonitorElementh_triggerJetPt
 
MonitorElementh_triggerMet
 
MonitorElementh_triggerMetPhi
 
std::string HLTProcess_
 
double metCut_
 
double ptThrJet_
 
double ptThrJetTrig_
 
edm::EDGetTokenT< reco::CaloJetCollectiontheCaloJetCollection_
 
edm::EDGetTokenT< reco::CaloMETCollectiontheCaloMETCollection_
 
edm::EDGetTokenT< reco::PFJetCollectionthePfJetCollection_
 
edm::EDGetTokenT< reco::PFMETCollectionthePfMETCollection_
 
edm::EDGetTokenT< trigger::TriggerEventtheTrigSummary_
 
edm::InputTag triggerFilter_
 
edm::InputTag triggerJetFilter_
 
std::string triggerPath_
 
std::string triggerPathAuxiliaryForHadronic_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResults_
 

Additional Inherited Members

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

Detailed Description

Definition at line 39 of file SUSY_HLT_DiJet_MET.h.

Constructor & Destructor Documentation

SUSY_HLT_DiJet_MET::SUSY_HLT_DiJet_MET ( const edm::ParameterSet ps)

Definition at line 10 of file SUSY_HLT_DiJet_MET.cc.

References etaThrJet_, etaThrJetTrig_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLTProcess_, metCut_, ptThrJet_, ptThrJetTrig_, AlCaHLTBitMon_QueryRunRegistry::string, theCaloJetCollection_, theCaloMETCollection_, thePfJetCollection_, thePfMETCollection_, theTrigSummary_, triggerFilter_, triggerJetFilter_, triggerPath_, triggerPathAuxiliaryForHadronic_, and triggerResults_.

11 {
12  edm::LogInfo("SUSY_HLT_DiJet_MET") << "Constructor SUSY_HLT_DiJet_MET::SUSY_HLT_DiJet_MET " << std::endl;
13  // Get parameters from configuration file
14  theTrigSummary_ = consumes<trigger::TriggerEvent>(ps.getParameter<edm::InputTag>("trigSummary"));
15  thePfMETCollection_ = consumes<reco::PFMETCollection>(ps.getParameter<edm::InputTag>("pfMETCollection"));
16  theCaloMETCollection_ = consumes<reco::CaloMETCollection>(ps.getParameter<edm::InputTag>("caloMETCollection"));
17  thePfJetCollection_ = consumes<reco::PFJetCollection>(ps.getParameter<edm::InputTag>("pfJetCollection"));
18  theCaloJetCollection_ = consumes<reco::CaloJetCollection>(ps.getParameter<edm::InputTag>("caloJetCollection"));
19  triggerResults_ = consumes<edm::TriggerResults>(ps.getParameter<edm::InputTag>("TriggerResults"));
20  HLTProcess_ = ps.getParameter<std::string>("HLTProcess");
21  triggerPath_ = ps.getParameter<std::string>("TriggerPath");
22  triggerPathAuxiliaryForHadronic_ = ps.getParameter<std::string>("TriggerPathAuxiliaryForHadronic");
23  triggerFilter_ = ps.getParameter<edm::InputTag>("TriggerFilter");
24  triggerJetFilter_ = ps.getParameter<edm::InputTag>("TriggerJetFilter");
25  ptThrJetTrig_ = ps.getUntrackedParameter<double>("PtThrJetTrig");
26  etaThrJetTrig_ = ps.getUntrackedParameter<double>("EtaThrJetTrig");
27  ptThrJet_ = ps.getUntrackedParameter<double>("PtThrJet");
28  etaThrJet_ = ps.getUntrackedParameter<double>("EtaThrJet");
29  metCut_ = ps.getUntrackedParameter<double>("OfflineMetCut");
30 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag triggerFilter_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
edm::InputTag triggerJetFilter_
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::CaloMETCollection > theCaloMETCollection_
std::string triggerPathAuxiliaryForHadronic_
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
SUSY_HLT_DiJet_MET::~SUSY_HLT_DiJet_MET ( )
override

Definition at line 32 of file SUSY_HLT_DiJet_MET.cc.

33 {
34  edm::LogInfo("SUSY_HLT_DiJet_MET") << "Destructor SUSY_HLT_DiJet_MET::~SUSY_HLT_DiJet_MET " << std::endl;
35 }

Member Function Documentation

void SUSY_HLT_DiJet_MET::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 73 of file SUSY_HLT_DiJet_MET.cc.

References edm::HLTGlobalStatus::accept(), reco::deltaPhi(), trigger::TriggerObject::eta(), etaThrJet_, etaThrJetTrig_, MonitorElement::Fill(), HcalObjRepresent::Fill(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), edm::Event::getByToken(), trigger::TriggerEvent::getObjects(), h_caloMetvsPFMet, h_pfJet1Jet2DPhi, h_pfJet2PtTurnOn_den, h_pfJet2PtTurnOn_num, h_pfJetEta, h_pfJetPhi, h_pfJetPt, h_pfMetPhi, h_pfMetTurnOn_den, h_pfMetTurnOn_num, h_triggerJetEta, h_triggerJetPhi, h_triggerJetPt, h_triggerMet, h_triggerMetPhi, edm::HandleBase::isValid(), relativeConstraints::keys, metCut_, trigger::TriggerObject::phi(), trigger::TriggerObject::pt(), ptThrJet_, ptThrJetTrig_, edm::TriggerNames::size(), trigger::TriggerEvent::sizeFilters(), mathSSE::sqrt(), theCaloJetCollection_, theCaloMETCollection_, thePfJetCollection_, thePfMETCollection_, theTrigSummary_, triggerFilter_, triggerJetFilter_, edm::TriggerNames::triggerName(), edm::Event::triggerNames(), TriggerAnalyzer::triggerObjects, triggerPath_, triggerPathAuxiliaryForHadronic_, triggerResults_, trigNames, and edm::HLTGlobalStatus::wasrun().

73  {
74  edm::LogInfo("SUSY_HLT_DiJet_MET") << "SUSY_HLT_DiJet_MET::analyze" << std::endl;
75 
76 
77  //-------------------------------
78  //--- MET
79  //-------------------------------
80  edm::Handle<reco::PFMETCollection> pfMETCollection;
81  e.getByToken(thePfMETCollection_, pfMETCollection);
82  if ( !pfMETCollection.isValid() ){
83  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: PFMET" << "\n";
84  return;
85  }
86  edm::Handle<reco::CaloMETCollection> caloMETCollection;
87  e.getByToken(theCaloMETCollection_, caloMETCollection);
88  if ( !caloMETCollection.isValid() ){
89  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: CaloMET" << "\n";
90  return;
91  }
92  //-------------------------------
93  //--- Jets
94  //-------------------------------
95  edm::Handle<reco::PFJetCollection> pfJetCollection;
96  e.getByToken (thePfJetCollection_,pfJetCollection);
97  if ( !pfJetCollection.isValid() ){
98  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: PFJets" << "\n";
99  return;
100  }
101  edm::Handle<reco::CaloJetCollection> caloJetCollection;
102  e.getByToken (theCaloJetCollection_,caloJetCollection);
103  if ( !caloJetCollection.isValid() ){
104  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: CaloJets" << "\n";
105  return;
106  }
107 
108  //-------------------------------
109  //--- Trigger
110  //-------------------------------
112  e.getByToken(triggerResults_,hltresults);
113  if(!hltresults.isValid()){
114  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: TriggerResults" << "\n";
115  return;
116  }
117  edm::Handle<trigger::TriggerEvent> triggerSummary;
118  e.getByToken(theTrigSummary_, triggerSummary);
119  if(!triggerSummary.isValid()) {
120  edm::LogError ("SUSY_HLT_DiJet_MET") << "invalid collection: TriggerSummary" << "\n";
121  return;
122  }
123 
124 
125  //get online objects
126 
127  size_t filterIndex = triggerSummary->filterIndex( triggerFilter_ );
128  size_t jetFilterIndex = triggerSummary->filterIndex( triggerJetFilter_ );
130 
131  if( !(filterIndex >= triggerSummary->sizeFilters()) ){
132  const trigger::Keys& keys = triggerSummary->filterKeys( filterIndex );
133  for( size_t j = 0; j < keys.size(); ++j ){
134  trigger::TriggerObject foundObject = triggerObjects[keys[j]];
135  h_triggerMet->Fill(foundObject.pt());
136  h_triggerMetPhi->Fill(foundObject.phi());
137  }
138  }
139 
140  std::vector<float> ptJet, etaJet, phiJet;
141  if( !(jetFilterIndex >= triggerSummary->sizeFilters()) ){
142  const trigger::Keys& keys_jetfilter = triggerSummary->filterKeys( jetFilterIndex );
143  for( size_t j = 0; j < keys_jetfilter.size(); ++j ){
144  trigger::TriggerObject foundObject = triggerObjects[keys_jetfilter[j]];
145  h_triggerJetPt->Fill(foundObject.pt());
146  h_triggerJetEta->Fill(foundObject.eta());
147  h_triggerJetPhi->Fill(foundObject.phi());
148  if(foundObject.pt() > ptThrJetTrig_ && fabs(foundObject.eta()) < etaThrJetTrig_) {
149  ptJet.push_back(foundObject.pt());
150  etaJet.push_back(foundObject.eta());
151  phiJet.push_back(foundObject.phi());
152  }
153  }
154  }
155 
156 
157  bool hasFired = false;
158  bool hasFiredAuxiliaryForHadronicLeg = false;
159  const edm::TriggerNames& trigNames = e.triggerNames(*hltresults);
160  unsigned int numTriggers = trigNames.size();
161  for( unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex ){
162  if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFired = true;
163  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForHadronic_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFiredAuxiliaryForHadronicLeg = true;
164  }
165 
166 
167 
168  if(hasFiredAuxiliaryForHadronicLeg) {
169 
170  int offlineJetCounter = 0;
171  int offlineCentralJets = 0;
172  int nMatch = 0, jet1Index = -1, jet2Index = -1;
173 
174  for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end(); ++i_pfjet){
175 
176  if (i_pfjet->pt() > ptThrJet_ && fabs(i_pfjet->eta()) < etaThrJet_) {
177  offlineCentralJets++;
178  if(offlineCentralJets == 2 && pfMETCollection->begin()->et()>metCut_) h_pfJet2PtTurnOn_den->Fill(i_pfjet->pt());
179 
180  for(unsigned int itrigjet = 0; itrigjet < ptJet.size(); ++itrigjet) {
181  if(itrigjet < 2 && (sqrt((i_pfjet->phi()-phiJet.at(itrigjet))*(i_pfjet->phi()-phiJet.at(itrigjet)) + (i_pfjet->eta()-etaJet.at(itrigjet))*(i_pfjet->eta()-etaJet.at(itrigjet))) < 0.4)) {
182  nMatch++;
183  if(nMatch == 1) jet1Index = offlineJetCounter;
184  if(nMatch == 2) jet2Index = offlineJetCounter;
185 
186  if(hasFired) {
187  h_pfJetPt->Fill(i_pfjet->pt());
188  h_pfJetEta->Fill(i_pfjet->eta());
189  h_pfJetPhi->Fill(i_pfjet->phi());
190  if(offlineCentralJets == 2 && pfMETCollection->begin()->et()>metCut_) h_pfJet2PtTurnOn_num->Fill(i_pfjet->pt());
191  }
192 
193  break;
194  }
195  }
196  }
197 
198  offlineJetCounter++;
199  }
200 
201  if(hasFired) {
202  h_pfMetTurnOn_num->Fill(pfMETCollection->begin()->et());
203  h_pfMetPhi->Fill(pfMETCollection->begin()->phi());
204  h_caloMetvsPFMet->Fill(pfMETCollection->begin()->et(), caloMETCollection->begin()->et());
205 
206  if(jet1Index > -1 && jet2Index > -1) {
207  h_pfJet1Jet2DPhi->Fill(fabs(reco::deltaPhi(pfJetCollection->at(jet1Index).phi(), pfJetCollection->at(jet2Index).phi())));
208  }
209 
210  }
211 
212  h_pfMetTurnOn_den-> Fill(pfMETCollection->begin()->et());
213 
214  }
215 
216  ptJet.clear();
217  etaJet.clear();
218  phiJet.clear();
219 
220 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:22
bool wasrun() const
Was at least one path run?
MonitorElement * h_triggerJetEta
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:135
edm::InputTag triggerFilter_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
float phi() const
Definition: TriggerObject.h:58
MonitorElement * h_pfMetTurnOn_num
MonitorElement * h_pfMetPhi
MonitorElement * h_pfJetPt
bool accept() const
Has at least one path accepted the event?
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:111
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:123
MonitorElement * h_caloMetvsPFMet
MonitorElement * h_pfJetEta
Strings::size_type size() const
Definition: TriggerNames.cc:39
float eta() const
Definition: TriggerObject.h:57
MonitorElement * h_triggerMetPhi
void Fill(long long x)
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:98
MonitorElement * h_triggerMet
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * h_pfJet2PtTurnOn_den
MonitorElement * h_pfJet1Jet2DPhi
bool isValid() const
Definition: HandleBase.h:74
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:74
MonitorElement * h_pfJetPhi
edm::InputTag triggerJetFilter_
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
std::vector< size_type > Keys
MonitorElement * h_pfJet2PtTurnOn_num
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::CaloMETCollection > theCaloMETCollection_
std::string triggerPathAuxiliaryForHadronic_
MonitorElement * h_pfMetTurnOn_den
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
MonitorElement * h_triggerJetPt
MonitorElement * h_triggerJetPhi
void SUSY_HLT_DiJet_MET::bookHistograms ( DQMStore::IBooker ibooker_,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 63 of file SUSY_HLT_DiJet_MET.cc.

References bookHistos().

64 {
65  edm::LogInfo("SUSY_HLT_DiJet_MET") << "SUSY_HLT_DiJet_MET::bookHistograms" << std::endl;
66  //book at beginRun
67  bookHistos(ibooker_);
68 }
void bookHistos(DQMStore::IBooker &)
void SUSY_HLT_DiJet_MET::bookHistos ( DQMStore::IBooker ibooker_)
private

Definition at line 230 of file SUSY_HLT_DiJet_MET.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::cd(), DEFINE_FWK_MODULE, h_caloMetvsPFMet, h_pfJet1Jet2DPhi, h_pfJet2PtTurnOn_den, h_pfJet2PtTurnOn_num, h_pfJetEta, h_pfJetPhi, h_pfJetPt, h_pfMetPhi, h_pfMetTurnOn_den, h_pfMetTurnOn_num, h_triggerJetEta, h_triggerJetPhi, h_triggerJetPt, h_triggerMet, h_triggerMetPhi, DQMStore::IBooker::setCurrentFolder(), and triggerPath_.

Referenced by bookHistograms().

231 {
232  ibooker_.cd();
233  ibooker_.setCurrentFolder("HLT/SUSYBSM/" + triggerPath_);
234 
235  //offline quantities
236  h_pfMetPhi = ibooker_.book1D("pfMetPhi", "PF MET Phi", 20, -3.5, 3.5);
237  h_pfJetPt = ibooker_.book1D("pfJetPt", "PF Jet p_{T} (trigger-matched jets, |#eta| < 2.4); GeV", 20, 0.0, 500.0);
238  h_pfJetEta = ibooker_.book1D("pfJetEta", "PF Jet #eta (trigger-matched jets, |#eta| < 2.4)", 20, -3.0, 3.0);
239  h_pfJetPhi = ibooker_.book1D("pfJetPhi", "PF Jet #phi (trigger-matched jets, |#eta| < 2.4)", 20, -3.5, 3.5);
240  h_pfJet1Jet2DPhi = ibooker_.book1D("pfJet1Jet2DPhi", "|#Delta#phi| between two leading trigger-matched jets", 20, 0.0, 3.5);
241  h_caloMetvsPFMet = ibooker_.book2D("caloMetvsPFMet", "Calo MET vs PF MET; GeV; GeV", 25, 0.0, 500.0, 25, 0.0, 500.0);
242 
243  //online quantities
244  h_triggerMet = ibooker_.book1D("triggerMet", "Trigger MET; GeV", 20, 0.0, 500.0);
245  h_triggerMetPhi = ibooker_.book1D("triggerMetPhi", "Trigger MET Phi", 20, -3.5, 3.5);
246  h_triggerJetPt = ibooker_.book1D("triggerJetPt", "Trigger Jet p_{T}; GeV", 20, 0.0, 500.0);
247  h_triggerJetEta = ibooker_.book1D("triggerJetEta", "Trigger Jet Eta", 20, -3.0, 3.0);
248  h_triggerJetPhi = ibooker_.book1D("triggerJetPhi", "Trigger Jet Phi", 20, -3.5, 3.5);
249 
250  //num and den hists to be divided in harvesting step to make turn on curves
251  h_pfMetTurnOn_num = ibooker_.book1D("pfMetTurnOn_num", "PF MET", 20, 0.0, 500.0 );
252  h_pfMetTurnOn_den = ibooker_.book1D("pfMetTurnOn_den", "PF MET Turn On Denominator", 20, 0.0, 500.0 );
253  h_pfJet2PtTurnOn_num = ibooker_.book1D("pfJet2PtTurnOn_num", "PF Jet2 Pt (NCentralPFJets >= 2, PFMET > 250)", 20, 0.0, 500.0 );
254  h_pfJet2PtTurnOn_den = ibooker_.book1D("pfJet2PtTurnOn_den", "PF Jet2 Pt Turn On Denominator", 20, 0.0, 500.0 );
255 
256  ibooker_.cd();
257 }
MonitorElement * h_triggerJetEta
MonitorElement * h_pfMetTurnOn_num
MonitorElement * h_pfMetPhi
MonitorElement * h_pfJetPt
MonitorElement * h_caloMetvsPFMet
MonitorElement * h_pfJetEta
MonitorElement * h_triggerMetPhi
MonitorElement * h_triggerMet
MonitorElement * h_pfJet2PtTurnOn_den
MonitorElement * h_pfJet1Jet2DPhi
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * h_pfJetPhi
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
MonitorElement * h_pfJet2PtTurnOn_num
MonitorElement * h_pfMetTurnOn_den
MonitorElement * h_triggerJetPt
MonitorElement * h_triggerJetPhi
void SUSY_HLT_DiJet_MET::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &  e 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 37 of file SUSY_HLT_DiJet_MET.cc.

References fHltConfig, spr::find(), HLTProcess_, HLTConfigProvider::init(), LogDebug, HLTConfigProvider::triggerNames(), and triggerPath_.

38 {
39 
40  bool changed;
41 
42  if (!fHltConfig.init(run, e, HLTProcess_, changed)) {
43  edm::LogError("SUSY_HLT_DiJet_MET") << "Initialization of HLTConfigProvider failed!!";
44  return;
45  }
46 
47  bool pathFound = false;
48  const std::vector<std::string> allTrigNames = fHltConfig.triggerNames();
49  for(size_t j = 0; j <allTrigNames.size(); ++j) {
50  if(allTrigNames[j].find(triggerPath_) != std::string::npos) {
51  pathFound = true;
52  }
53  }
54 
55  if(!pathFound) {
56  LogDebug("SUSY_HLT_DiJet_MET") << "Path not found" << "\n";
57  return;
58  }
59 
60  edm::LogInfo("SUSY_HLT_DiJet_MET") << "SUSY_HLT_DiJet_MET::beginRun" << std::endl;
61 }
#define LogDebug(id)
const std::vector< std::string > & triggerNames() const
names of trigger paths
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
HLTConfigProvider fHltConfig
void SUSY_HLT_DiJet_MET::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotected

Definition at line 225 of file SUSY_HLT_DiJet_MET.cc.

226 {
227  edm::LogInfo("SUSY_HLT_DiJet_MET") << "SUSY_HLT_DiJet_MET::endRun" << std::endl;
228 }

Member Data Documentation

double SUSY_HLT_DiJet_MET::etaThrJet_
private

Definition at line 74 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

double SUSY_HLT_DiJet_MET::etaThrJetTrig_
private

Definition at line 72 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

HLTConfigProvider SUSY_HLT_DiJet_MET::fHltConfig
private

Definition at line 64 of file SUSY_HLT_DiJet_MET.h.

Referenced by dqmBeginRun().

MonitorElement* SUSY_HLT_DiJet_MET::h_caloMetvsPFMet
private

Definition at line 83 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJet1Jet2DPhi
private

Definition at line 82 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJet2PtTurnOn_den
private

Definition at line 92 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJet2PtTurnOn_num
private

Definition at line 91 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJetEta
private

Definition at line 80 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJetPhi
private

Definition at line 81 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfJetPt
private

Definition at line 79 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfMetPhi
private

Definition at line 78 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfMetTurnOn_den
private

Definition at line 90 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_pfMetTurnOn_num
private

Definition at line 89 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_triggerJetEta
private

Definition at line 87 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_triggerJetPhi
private

Definition at line 88 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_triggerJetPt
private

Definition at line 86 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_triggerMet
private

Definition at line 84 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DiJet_MET::h_triggerMetPhi
private

Definition at line 85 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and bookHistos().

std::string SUSY_HLT_DiJet_MET::HLTProcess_
private

Definition at line 66 of file SUSY_HLT_DiJet_MET.h.

Referenced by dqmBeginRun(), and SUSY_HLT_DiJet_MET().

double SUSY_HLT_DiJet_MET::metCut_
private

Definition at line 75 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

double SUSY_HLT_DiJet_MET::ptThrJet_
private

Definition at line 73 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

double SUSY_HLT_DiJet_MET::ptThrJetTrig_
private

Definition at line 71 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<reco::CaloJetCollection> SUSY_HLT_DiJet_MET::theCaloJetCollection_
private

Definition at line 59 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<reco::CaloMETCollection> SUSY_HLT_DiJet_MET::theCaloMETCollection_
private

Definition at line 57 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<reco::PFJetCollection> SUSY_HLT_DiJet_MET::thePfJetCollection_
private

Definition at line 58 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<reco::PFMETCollection> SUSY_HLT_DiJet_MET::thePfMETCollection_
private

Definition at line 56 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<trigger::TriggerEvent> SUSY_HLT_DiJet_MET::theTrigSummary_
private

Definition at line 61 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::InputTag SUSY_HLT_DiJet_MET::triggerFilter_
private

Definition at line 69 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::InputTag SUSY_HLT_DiJet_MET::triggerJetFilter_
private

Definition at line 70 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

std::string SUSY_HLT_DiJet_MET::triggerPath_
private

Definition at line 67 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), bookHistos(), dqmBeginRun(), and SUSY_HLT_DiJet_MET().

std::string SUSY_HLT_DiJet_MET::triggerPathAuxiliaryForHadronic_
private

Definition at line 68 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().

edm::EDGetTokenT<edm::TriggerResults> SUSY_HLT_DiJet_MET::triggerResults_
private

Definition at line 60 of file SUSY_HLT_DiJet_MET.h.

Referenced by analyze(), and SUSY_HLT_DiJet_MET().