CMS 3D CMS Logo

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

#include <SUSY_HLT_Muon_Hadronic.h>

Inheritance diagram for SUSY_HLT_Muon_Hadronic:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 SUSY_HLT_Muon_Hadronic (const edm::ParameterSet &ps)
 
 ~SUSY_HLT_Muon_Hadronic () override
 
- 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
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
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 dqmEndRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 etaMuonOffline_
 
double etaThrJet_
 
HLTConfigProvider fHltConfig
 
MonitorElementh_MuTurnOn_den
 
MonitorElementh_MuTurnOn_num
 
MonitorElementh_pfHTTurnOn_den
 
MonitorElementh_pfHTTurnOn_num
 
MonitorElementh_pfMetTurnOn_den
 
MonitorElementh_pfMetTurnOn_num
 
MonitorElementh_triggerMuEta
 
MonitorElementh_triggerMuPhi
 
MonitorElementh_triggerMuPt
 
std::string HLTProcess_
 
double HTOffline_
 
double METOffline_
 
double ptMuonOffline_
 
double ptThrJet_
 
edm::EDGetTokenT< reco::CaloJetCollectiontheCaloJetCollection_
 
edm::EDGetTokenT< reco::MuonCollectiontheMuonCollection_
 
edm::EDGetTokenT< reco::PFJetCollectionthePfJetCollection_
 
edm::EDGetTokenT< reco::PFMETCollectionthePfMETCollection_
 
edm::EDGetTokenT< trigger::TriggerEventtheTrigSummary_
 
edm::InputTag triggerFilter_
 
std::string triggerPath_
 
std::string triggerPathAuxiliaryForHadronic_
 
std::string triggerPathAuxiliaryForMuon_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResults_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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 33 of file SUSY_HLT_Muon_Hadronic.h.

Constructor & Destructor Documentation

SUSY_HLT_Muon_Hadronic::SUSY_HLT_Muon_Hadronic ( const edm::ParameterSet ps)

Definition at line 10 of file SUSY_HLT_Muon_Hadronic.cc.

References etaMuonOffline_, etaThrJet_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLTProcess_, HTOffline_, METOffline_, ptMuonOffline_, ptThrJet_, AlCaHLTBitMon_QueryRunRegistry::string, theCaloJetCollection_, theMuonCollection_, thePfJetCollection_, thePfMETCollection_, theTrigSummary_, triggerFilter_, triggerPath_, triggerPathAuxiliaryForHadronic_, triggerPathAuxiliaryForMuon_, and triggerResults_.

10  {
11  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "Constructor SUSY_HLT_Muon_Hadronic::SUSY_HLT_Muon_Hadronic " << std::endl;
12  // Get parameters from configuration file
13  theTrigSummary_ = consumes<trigger::TriggerEvent>(ps.getParameter<edm::InputTag>("trigSummary"));
14  theMuonCollection_ = consumes<reco::MuonCollection>(ps.getParameter<edm::InputTag>("MuonCollection"));
15  thePfMETCollection_ = consumes<reco::PFMETCollection>(ps.getParameter<edm::InputTag>("pfMETCollection"));
16  thePfJetCollection_ = consumes<reco::PFJetCollection>(ps.getParameter<edm::InputTag>("pfJetCollection"));
17  theCaloJetCollection_ = consumes<reco::CaloJetCollection>(ps.getParameter<edm::InputTag>("caloJetCollection"));
18  triggerResults_ = consumes<edm::TriggerResults>(ps.getParameter<edm::InputTag>("TriggerResults"));
19  HLTProcess_ = ps.getParameter<std::string>("HLTProcess");
20  triggerPath_ = ps.getParameter<std::string>("TriggerPath");
21  triggerPathAuxiliaryForMuon_ = ps.getParameter<std::string>("TriggerPathAuxiliaryForMuon");
22  triggerPathAuxiliaryForHadronic_ = ps.getParameter<std::string>("TriggerPathAuxiliaryForHadronic");
23  triggerFilter_ = ps.getParameter<edm::InputTag>("TriggerFilter");
24  ptMuonOffline_ = ps.getUntrackedParameter<double>("ptMuonOffline");
25  etaMuonOffline_ = ps.getUntrackedParameter<double>("etaMuonOffline");
26  HTOffline_ = ps.getUntrackedParameter<double>("HTOffline");
27  METOffline_ = ps.getUntrackedParameter<double>("METOffline");
28  ptThrJet_ = ps.getUntrackedParameter<double>("PtThrJet");
29  etaThrJet_ = ps.getUntrackedParameter<double>("EtaThrJet");
30 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
std::string triggerPathAuxiliaryForHadronic_
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
SUSY_HLT_Muon_Hadronic::~SUSY_HLT_Muon_Hadronic ( )
override

Definition at line 32 of file SUSY_HLT_Muon_Hadronic.cc.

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

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 72 of file SUSY_HLT_Muon_Hadronic.cc.

References edm::HLTGlobalStatus::accept(), pdwgLeptonRecoSkim_cfi::caloJetCollection, comparePt(), trigger::TriggerObject::eta(), Lepton::eta, etaMuonOffline_, etaThrJet_, dqm::impl::MonitorElement::Fill(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), edm::Event::getByToken(), trigger::TriggerEvent::getObjects(), h_MuTurnOn_den, h_MuTurnOn_num, h_pfHTTurnOn_den, h_pfHTTurnOn_num, h_pfMetTurnOn_den, h_pfMetTurnOn_num, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, HLTBitAnalyser_cfi::hltresults, HTOffline_, trigger::TriggerObject::id(), edm::EventBase::isRealData(), edm::HandleBase::isValid(), dqmiolumiharvest::j, relativeConstraints::keys, METOffline_, HLT_2018_cff::muon, ExoticaDQM_cfi::pfJetCollection, B2GDQM_cfi::pfMETCollection, trigger::TriggerObject::phi(), Lepton::phi, trigger::TriggerObject::pt(), Lepton::pt, ptMuonOffline_, ptThrJet_, edm::TriggerNames::size(), trigger::TriggerEvent::sizeFilters(), mathSSE::sqrt(), theCaloJetCollection_, theMuonCollection_, thePfJetCollection_, thePfMETCollection_, theTrigSummary_, triggerFilter_, edm::TriggerNames::triggerName(), edm::Event::triggerNames(), triggerMatchMonitor_cfi::triggerObjects, triggerPath_, triggerPathAuxiliaryForHadronic_, triggerPathAuxiliaryForMuon_, triggerResults_, HLTMuonOfflineAnalyzer_cfi::triggerSummary, trigNames, and edm::HLTGlobalStatus::wasrun().

72  {
73  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::analyze" << std::endl;
74 
75  //-------------------------------
76  //--- MET
77  //-------------------------------
79  e.getByToken(thePfMETCollection_, pfMETCollection);
80  if (!pfMETCollection.isValid()) {
81  edm::LogError("SUSY_HLT_Muon_Hadronic") << "invalid collection: PFMET"
82  << "\n";
83  return;
84  }
85  //-------------------------------
86  //--- Jets
87  //-------------------------------
89  e.getByToken(thePfJetCollection_, pfJetCollection);
90  if (!pfJetCollection.isValid()) {
91  edm::LogError("SUSY_HLT_Muon_Hadronic") << "invalid collection: PFJets"
92  << "\n";
93  return;
94  }
96  e.getByToken(theCaloJetCollection_, caloJetCollection);
97  if (!caloJetCollection.isValid()) {
98  edm::LogError("SUSY_HLT_Muon_Hadronic") << "invalid collection: CaloJets"
99  << "\n";
100  return;
101  }
102 
103  //-------------------------------
104  //--- Muon
105  //-------------------------------
107  e.getByToken(theMuonCollection_, MuonCollection);
108  if (!MuonCollection.isValid()) {
109  edm::LogError("SUSY_HLT_Mu_Hadronic") << "invalid collection: Muons "
110  << "\n";
111  return;
112  }
113 
114  //-------------------------------
115  //--- Trigger
116  //-------------------------------
118  e.getByToken(triggerResults_, hltresults);
119  if (!hltresults.isValid()) {
120  edm::LogError("SUSY_HLT_Muon_Hadronic") << "invalid collection: TriggerResults"
121  << "\n";
122  return;
123  }
125  e.getByToken(theTrigSummary_, triggerSummary);
126  if (!triggerSummary.isValid()) {
127  edm::LogError("SUSY_HLT_Muon_Hadronic") << "invalid collection: TriggerSummary"
128  << "\n";
129  return;
130  }
131 
132  // get online objects
133  std::vector<Lepton> onlineMuons;
134  size_t filterIndex = triggerSummary->filterIndex(triggerFilter_);
136  if (!(filterIndex >= triggerSummary->sizeFilters())) {
137  const trigger::Keys &keys = triggerSummary->filterKeys(filterIndex);
138  for (size_t j = 0; j < keys.size(); ++j) {
139  trigger::TriggerObject foundObject = triggerObjects[keys[j]];
140  if (fabs(foundObject.id()) == 13) { // It's a muon
141  h_triggerMuPt->Fill(foundObject.pt());
142  h_triggerMuEta->Fill(foundObject.eta());
143  h_triggerMuPhi->Fill(foundObject.phi());
144  Lepton theMuon;
145  theMuon.pt = foundObject.pt();
146  theMuon.phi = foundObject.phi();
147  theMuon.eta = foundObject.eta();
148  onlineMuons.push_back(theMuon);
149  }
150  }
151  }
152 
153  bool hasFired = false;
154  bool hasFiredAuxiliaryForMuonLeg = false;
155  bool hasFiredAuxiliaryForHadronicLeg = false;
156  const edm::TriggerNames &trigNames = e.triggerNames(*hltresults);
157  unsigned int numTriggers = trigNames.size();
158  for (unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
159  if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) &&
160  hltresults->accept(hltIndex))
161  hasFired = true;
162  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForMuon_) != std::string::npos &&
163  hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
164  hasFiredAuxiliaryForMuonLeg = true;
165  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForHadronic_) != std::string::npos &&
166  hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
167  hasFiredAuxiliaryForHadronicLeg = true;
168  }
169 
170  if (hasFiredAuxiliaryForMuonLeg || hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) {
171  std::vector<Lepton> offlineMuons;
172  for (reco::MuonCollection::const_iterator muon = MuonCollection->begin(); muon != MuonCollection->end(); ++muon) {
173  if (fabs(muon->eta()) > etaMuonOffline_)
174  continue;
175  Lepton theMuon;
176  theMuon.pt = muon->pt();
177  theMuon.phi = muon->phi();
178  theMuon.eta = muon->eta();
179  offlineMuons.push_back(theMuon);
180  }
181 
182  std::sort(onlineMuons.begin(), onlineMuons.end(), comparePt);
183  std::sort(offlineMuons.begin(), offlineMuons.end(), comparePt);
184  /*
185  std::cout << "OFFLINE MUON" << std::endl;
186  for(std::vector<Lepton>::iterator offline_muon = offlineMuons.begin();
187  offline_muon != offlineMuons.end(); offline_muon++) { std::cout <<
188  offline_muon->pt << std::endl;
189  }
190  std::cout << "ONLINE MUON" << std::endl;
191  for(std::vector<Lepton>::iterator online_muon = onlineMuons.begin();
192  online_muon != onlineMuons.end(); online_muon++) { std::cout <<
193  online_muon->pt << std::endl;
194  }
195  */
196  // Matching the muon
197  int indexOfMatchedMuon = -1;
198  int offlineCounter = 0;
199  for (std::vector<Lepton>::iterator offline_muon = offlineMuons.begin();
200  (offline_muon != offlineMuons.end() && indexOfMatchedMuon == -1);
201  offline_muon++) {
202  for (std::vector<Lepton>::iterator online_muon = onlineMuons.begin(); online_muon != onlineMuons.end();
203  online_muon++) {
204  if (sqrt((offline_muon->phi - online_muon->phi) * (offline_muon->phi - online_muon->phi) +
205  (offline_muon->eta - online_muon->eta) * (offline_muon->eta - online_muon->eta)) < 0.5) {
206  indexOfMatchedMuon = offlineCounter;
207  // std::cout << "Offline " << offline_muon->pt << " " << "Online " <<
208  // online_muon->pt << std::endl;
209  break;
210  }
211  }
212  offlineCounter++;
213  }
214  float caloHT = 0.0;
215  float pfHT = 0.0;
216  for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end();
217  ++i_pfjet) {
218  if (i_pfjet->pt() < ptThrJet_)
219  continue;
220  if (fabs(i_pfjet->eta()) > etaThrJet_)
221  continue;
222  pfHT += i_pfjet->pt();
223  }
224  for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin();
225  i_calojet != caloJetCollection->end();
226  ++i_calojet) {
227  if (i_calojet->pt() < ptThrJet_)
228  continue;
229  if (fabs(i_calojet->eta()) > etaThrJet_)
230  continue;
231  caloHT += i_calojet->pt();
232  }
233  // Need to apply the MET offline cut to be in the MET plateau
234  if ((hasFiredAuxiliaryForMuonLeg || !e.isRealData()) && !offlineMuons.empty() &&
235  pfMETCollection->begin()->et() > METOffline_ && pfHT > HTOffline_) {
236  if (hasFired && indexOfMatchedMuon >= 0) {
237  h_MuTurnOn_num->Fill(offlineMuons.at(indexOfMatchedMuon).pt);
238  h_MuTurnOn_den->Fill(offlineMuons.at(indexOfMatchedMuon).pt);
239  } else {
240  h_MuTurnOn_den->Fill(offlineMuons.at(0).pt);
241  }
242  }
243  // Need to apply the pt offline cut to be in the muon pt plateau
244  if ((hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) && indexOfMatchedMuon >= 0 &&
245  offlineMuons.at(indexOfMatchedMuon).pt > ptMuonOffline_ && pfHT > HTOffline_) {
246  if (hasFired) {
247  h_pfMetTurnOn_num->Fill(pfMETCollection->begin()->et());
248  }
249  h_pfMetTurnOn_den->Fill(pfMETCollection->begin()->et());
250  }
251  if ((hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) && indexOfMatchedMuon >= 0 &&
252  offlineMuons.at(indexOfMatchedMuon).pt > ptMuonOffline_ && pfMETCollection->begin()->et() > METOffline_) {
253  if (hasFired) {
254  h_pfHTTurnOn_num->Fill(pfHT);
255  }
256  h_pfHTTurnOn_den->Fill(pfHT);
257  }
258  }
259 }
bool wasrun() const
Was at least one path run?
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
int id() const
getters
Definition: TriggerObject.h:51
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
float phi() const
Definition: TriggerObject.h:54
bool accept() const
Has at least one path accepted the event?
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
std::string triggerPathAuxiliaryForHadronic_
Strings::size_type size() const
Definition: TriggerNames.cc:31
float eta() const
Definition: TriggerObject.h:53
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
void Fill(long long x)
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * h_pfMetTurnOn_num
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * h_pfHTTurnOn_den
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:22
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
std::vector< size_type > Keys
MonitorElement * h_pfHTTurnOn_num
Definition: Lepton.py:1
MonitorElement * h_pfMetTurnOn_den
bool comparePt(Lepton a, Lepton b)
void SUSY_HLT_Muon_Hadronic::bookHistograms ( DQMStore::IBooker ibooker_,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 66 of file SUSY_HLT_Muon_Hadronic.cc.

References bookHistos().

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

Definition at line 265 of file SUSY_HLT_Muon_Hadronic.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::cd(), DEFINE_FWK_MODULE, h_MuTurnOn_den, h_MuTurnOn_num, h_pfHTTurnOn_den, h_pfHTTurnOn_num, h_pfMetTurnOn_den, h_pfMetTurnOn_num, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), and triggerPath_.

Referenced by bookHistograms().

265  {
266  ibooker_.cd();
267  ibooker_.setCurrentFolder("HLT/SUSYBSM/" + triggerPath_);
268 
269  // offline quantities
270 
271  // online quantities
272  h_triggerMuPt = ibooker_.book1D("triggerMuPt", "Trigger Muon Pt; GeV", 20, 0.0, 500.0);
273  h_triggerMuEta = ibooker_.book1D("triggerMuEta", "Trigger Muon Eta", 20, -3.0, 3.0);
274  h_triggerMuPhi = ibooker_.book1D("triggerMuPhi", "Trigger Muon Phi", 20, -3.5, 3.5);
275 
276  // num and den hists to be divided in harvesting step to make turn on curves
277  h_pfMetTurnOn_num = ibooker_.book1D("pfMetTurnOn_num", "PF MET Turn On Numerator", 20, 0.0, 500.0);
278  h_pfMetTurnOn_den = ibooker_.book1D("pfMetTurnOn_den", "PF MET Turn OnDenominator", 20, 0.0, 500.0);
279  h_pfHTTurnOn_num = ibooker_.book1D("pfHTTurnOn_num", "PF HT Turn On Numerator", 30, 0.0, 1500.0);
280  h_pfHTTurnOn_den = ibooker_.book1D("pfHTTurnOn_den", "PF HT Turn On Denominator", 30, 0.0, 1500.0);
281  h_MuTurnOn_num = ibooker_.book1D("MuTurnOn_num", "Muon Turn On Numerator", 30, 0.0, 150);
282  h_MuTurnOn_den = ibooker_.book1D("MuTurnOn_den", "Muon Turn On Denominator", 30, 0.0, 150.0);
283 
284  ibooker_.cd();
285 }
MonitorElement * h_pfMetTurnOn_num
MonitorElement * h_pfHTTurnOn_den
MonitorElement * h_pfHTTurnOn_num
MonitorElement * h_pfMetTurnOn_den
void SUSY_HLT_Muon_Hadronic::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &  e 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 36 of file SUSY_HLT_Muon_Hadronic.cc.

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

36  {
37  bool changed;
38 
39  if (!fHltConfig.init(run, e, HLTProcess_, changed)) {
40  edm::LogError("SUSY_HLT_Muon_Hadronic") << "Initialization of HLTConfigProvider failed!!";
41  return;
42  }
43 
44  bool pathFound = false;
45  const std::vector<std::string> allTrigNames = fHltConfig.triggerNames();
46  for (size_t j = 0; j < allTrigNames.size(); ++j) {
47  if (allTrigNames[j].find(triggerPath_) != std::string::npos) {
48  pathFound = true;
49  }
50  }
51 
52  if (!pathFound) {
53  LogDebug("SUSY_HLT_Muon_Hadronic") << "Path not found"
54  << "\n";
55  return;
56  }
57  // std::vector<std::string> filtertags = fHltConfig.moduleLabels( triggerPath_
58  // ); triggerFilter_ =
59  // edm::InputTag(filtertags[filtertags.size()-1],"",fHltConfig.processName());
60  // triggerFilter_ = edm::InputTag("hltPFMET120Mu5L3PreFiltered", "",
61  // fHltConfig.processName());
62 
63  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::beginRun" << std::endl;
64 }
#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:19
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
void SUSY_HLT_Muon_Hadronic::dqmEndRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 261 of file SUSY_HLT_Muon_Hadronic.cc.

261  {
262  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::endRun" << std::endl;
263 }

Member Data Documentation

double SUSY_HLT_Muon_Hadronic::etaMuonOffline_
private

Definition at line 64 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

double SUSY_HLT_Muon_Hadronic::etaThrJet_
private

Definition at line 68 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

HLTConfigProvider SUSY_HLT_Muon_Hadronic::fHltConfig
private

Definition at line 56 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by dqmBeginRun().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_MuTurnOn_den
private

Definition at line 79 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_MuTurnOn_num
private

Definition at line 78 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfHTTurnOn_den
private

Definition at line 77 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfHTTurnOn_num
private

Definition at line 76 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfMetTurnOn_den
private

Definition at line 75 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfMetTurnOn_num
private

Definition at line 74 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuEta
private

Definition at line 72 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuPhi
private

Definition at line 73 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuPt
private

Definition at line 71 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

std::string SUSY_HLT_Muon_Hadronic::HLTProcess_
private

Definition at line 58 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by dqmBeginRun(), and SUSY_HLT_Muon_Hadronic().

double SUSY_HLT_Muon_Hadronic::HTOffline_
private

Definition at line 65 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

double SUSY_HLT_Muon_Hadronic::METOffline_
private

Definition at line 66 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

double SUSY_HLT_Muon_Hadronic::ptMuonOffline_
private

Definition at line 63 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

double SUSY_HLT_Muon_Hadronic::ptThrJet_
private

Definition at line 67 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

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

Definition at line 52 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

edm::EDGetTokenT<reco::MuonCollection> SUSY_HLT_Muon_Hadronic::theMuonCollection_
private

Definition at line 49 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

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

Definition at line 51 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

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

Definition at line 50 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

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

Definition at line 54 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

edm::InputTag SUSY_HLT_Muon_Hadronic::triggerFilter_
private

Definition at line 62 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

std::string SUSY_HLT_Muon_Hadronic::triggerPath_
private

Definition at line 59 of file SUSY_HLT_Muon_Hadronic.h.

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

std::string SUSY_HLT_Muon_Hadronic::triggerPathAuxiliaryForHadronic_
private

Definition at line 61 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

std::string SUSY_HLT_Muon_Hadronic::triggerPathAuxiliaryForMuon_
private

Definition at line 60 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().

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

Definition at line 53 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().