CMS 3D CMS Logo

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

#include <SUSY_HLT_DoubleMuon_Hadronic.h>

Inheritance diagram for SUSY_HLT_DoubleMuon_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_DoubleMuon_Hadronic (const edm::ParameterSet &ps)
 
 ~SUSY_HLT_DoubleMuon_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 etaThrJet_
 
HLTConfigProvider fHltConfig
 
MonitorElementh_MuTurnOn_den
 
MonitorElementh_MuTurnOn_num
 
MonitorElementh_pfHTTurnOn_den
 
MonitorElementh_pfHTTurnOn_num
 
MonitorElementh_triggerDoubleMuMass
 
MonitorElementh_triggerMuEta
 
MonitorElementh_triggerMuPhi
 
MonitorElementh_triggerMuPt
 
std::string HLTProcess_
 
double ptThrJet_
 
edm::EDGetTokenT< reco::CaloJetCollectiontheCaloJetCollection_
 
edm::EDGetTokenT< reco::MuonCollectiontheMuonCollection_
 
edm::EDGetTokenT< reco::PFJetCollectionthePfJetCollection_
 
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 27 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Constructor & Destructor Documentation

SUSY_HLT_DoubleMuon_Hadronic::SUSY_HLT_DoubleMuon_Hadronic ( const edm::ParameterSet ps)

Definition at line 9 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

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

9  {
10  edm::LogInfo("SUSY_HLT_DoubleMuon_Hadronic") << "Constructor "
11  "SUSY_HLT_DoubleMuon_Hadronic::SUSY_HLT_DoubleMuon_Hadronic "
12  << std::endl;
13  // Get parameters from configuration file
14  theTrigSummary_ = consumes<trigger::TriggerEvent>(ps.getParameter<edm::InputTag>("trigSummary"));
15  theMuonCollection_ = consumes<reco::MuonCollection>(ps.getParameter<edm::InputTag>("MuonCollection"));
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  ptThrJet_ = ps.getUntrackedParameter<double>("PtThrJet");
25  etaThrJet_ = ps.getUntrackedParameter<double>("EtaThrJet");
26 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
SUSY_HLT_DoubleMuon_Hadronic::~SUSY_HLT_DoubleMuon_Hadronic ( )
override

Definition at line 28 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

28  {
29  edm::LogInfo("SUSY_HLT_DoubleMuon_Hadronic") << "Destructor "
30  "SUSY_HLT_DoubleMuon_Hadronic::~SUSY_HLT_DoubleMuon_Hadronic "
31  << std::endl;
32 }

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 72 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

References edm::HLTGlobalStatus::accept(), pdwgLeptonRecoSkim_cfi::caloJetCollection, trigger::TriggerObject::eta(), 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_triggerDoubleMuMass, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, HLTBitAnalyser_cfi::hltresults, trigger::TriggerObject::id(), edm::HandleBase::isValid(), dqmiolumiharvest::j, relativeConstraints::keys, HLT_2018_cff::muon, ExoticaDQM_cfi::pfJetCollection, trigger::TriggerObject::phi(), trigger::TriggerObject::pt(), ptThrJet_, edm::TriggerNames::size(), trigger::TriggerEvent::sizeFilters(), mathSSE::sqrt(), theCaloJetCollection_, theMuonCollection_, thePfJetCollection_, 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_DoubleMuon_Hadronic") << "SUSY_HLT_DoubleMuon_Hadronic::analyze" << std::endl;
74 
75  //-------------------------------
76  //--- Jets
77  //-------------------------------
79  e.getByToken(thePfJetCollection_, pfJetCollection);
80  if (!pfJetCollection.isValid()) {
81  edm::LogError("SUSY_HLT_DoubleMuon_Hadronic") << "invalid collection: PFJets"
82  << "\n";
83  return;
84  }
86  e.getByToken(theCaloJetCollection_, caloJetCollection);
87  if (!caloJetCollection.isValid()) {
88  edm::LogError("SUSY_HLT_DoubleMuon_Hadronic") << "invalid collection: CaloJets"
89  << "\n";
90  return;
91  }
92 
93  //-------------------------------
94  //--- Muon
95  //-------------------------------
97  e.getByToken(theMuonCollection_, MuonCollection);
98  if (!MuonCollection.isValid()) {
99  edm::LogError("SUSY_HLT_DoubleMuon_Hadronic") << "invalid collection: Muons "
100  << "\n";
101  return;
102  }
103 
104  //-------------------------------
105  //--- Trigger
106  //-------------------------------
108  e.getByToken(triggerResults_, hltresults);
109  if (!hltresults.isValid()) {
110  edm::LogError("SUSY_HLT_DoubleMuon_Hadronic") << "invalid collection: TriggerResults"
111  << "\n";
112  return;
113  }
115  e.getByToken(theTrigSummary_, triggerSummary);
116  if (!triggerSummary.isValid()) {
117  edm::LogError("SUSY_HLT_DoubleMuon_Hadronic") << "invalid collection: TriggerSummary"
118  << "\n";
119  return;
120  }
121 
122  // get online objects
123  std::vector<float> ptMuon, etaMuon, phiMuon;
124  size_t filterIndex = triggerSummary->filterIndex(triggerFilter_);
126  if (!(filterIndex >= triggerSummary->sizeFilters())) {
127  const trigger::Keys &keys = triggerSummary->filterKeys(filterIndex);
128  for (size_t j = 0; j < keys.size(); ++j) {
129  trigger::TriggerObject foundObject = triggerObjects[keys[j]];
130  if (fabs(foundObject.id()) == 13) { // It's a muon
131  h_triggerMuPt->Fill(foundObject.pt());
132  h_triggerMuEta->Fill(foundObject.eta());
133  h_triggerMuPhi->Fill(foundObject.phi());
134  ptMuon.push_back(foundObject.pt());
135  etaMuon.push_back(foundObject.eta());
136  phiMuon.push_back(foundObject.phi());
137  }
138  }
139  if (ptMuon.size() >= 2) {
140  math::PtEtaPhiMLorentzVectorD *mu1 = new math::PtEtaPhiMLorentzVectorD(ptMuon[0], etaMuon[0], phiMuon[0], 0.106);
141  math::PtEtaPhiMLorentzVectorD *mu2 = new math::PtEtaPhiMLorentzVectorD(ptMuon[1], etaMuon[1], phiMuon[1], 0.106);
142  (*mu1) += (*mu2);
143  h_triggerDoubleMuMass->Fill(mu1->M());
144  delete mu1;
145  delete mu2;
146  } else {
148  }
149  }
150 
151  bool hasFired = false;
152  bool hasFiredAuxiliaryForMuonLeg = false;
153  bool hasFiredAuxiliaryForHadronicLeg = false;
154  const edm::TriggerNames &trigNames = e.triggerNames(*hltresults);
155  unsigned int numTriggers = trigNames.size();
156  for (unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
157  if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) &&
158  hltresults->accept(hltIndex))
159  hasFired = true;
160  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForMuon_) != std::string::npos &&
161  hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
162  hasFiredAuxiliaryForMuonLeg = true;
163  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForHadronic_) != std::string::npos &&
164  hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
165  hasFiredAuxiliaryForHadronicLeg = true;
166  }
167 
168  if (hasFiredAuxiliaryForMuonLeg || hasFiredAuxiliaryForHadronicLeg) {
169  // Matching the muon
170  int indexOfMatchedMuon[2] = {-1};
171  int matchedCounter = 0;
172  int offlineCounter = 0;
173  for (reco::MuonCollection::const_iterator muon = MuonCollection->begin();
174  (muon != MuonCollection->end() && matchedCounter < 2);
175  ++muon) {
176  for (size_t off_i = 0; off_i < ptMuon.size(); ++off_i) {
177  if (sqrt((muon->phi() - phiMuon[off_i]) * (muon->phi() - phiMuon[off_i]) +
178  (muon->eta() - etaMuon[off_i]) * (muon->eta() - etaMuon[off_i])) < 0.5) {
179  indexOfMatchedMuon[matchedCounter] = offlineCounter;
180  matchedCounter++;
181  break;
182  }
183  }
184  offlineCounter++;
185  }
186 
187  float caloHT = 0.0;
188  float pfHT = 0.0;
189  for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end();
190  ++i_pfjet) {
191  if (i_pfjet->pt() < ptThrJet_)
192  continue;
193  if (fabs(i_pfjet->eta()) > etaThrJet_)
194  continue;
195  pfHT += i_pfjet->pt();
196  }
197  for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin();
198  i_calojet != caloJetCollection->end();
199  ++i_calojet) {
200  if (i_calojet->pt() < ptThrJet_)
201  continue;
202  if (fabs(i_calojet->eta()) > etaThrJet_)
203  continue;
204  caloHT += i_calojet->pt();
205  }
206 
207  if (hasFiredAuxiliaryForMuonLeg && MuonCollection->size() > 1) {
208  if (hasFired && indexOfMatchedMuon[1] >= 0) { // fill trailing leg
209  h_MuTurnOn_num->Fill(MuonCollection->at(indexOfMatchedMuon[1]).pt());
210  }
211  h_MuTurnOn_den->Fill(MuonCollection->at(1).pt());
212  }
213  if (hasFiredAuxiliaryForHadronicLeg) {
214  if (hasFired) {
215  h_pfHTTurnOn_num->Fill(pfHT);
216  }
217  h_pfHTTurnOn_den->Fill(pfHT);
218  }
219  }
220 }
bool wasrun() const
Was at least one path run?
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > PtEtaPhiMLorentzVectorD
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:10
int id() const
getters
Definition: TriggerObject.h:51
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
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
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
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
void Fill(long long x)
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
T sqrt(T t)
Definition: SSEVec.h:19
bool isValid() const
Definition: HandleBase.h:70
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
std::vector< size_type > Keys
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
void SUSY_HLT_DoubleMuon_Hadronic::bookHistograms ( DQMStore::IBooker ibooker_,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 64 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

References bookHistos().

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

Definition at line 226 of file SUSY_HLT_DoubleMuon_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_triggerDoubleMuMass, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), and triggerPath_.

Referenced by bookHistograms().

226  {
227  ibooker_.cd();
228  ibooker_.setCurrentFolder("HLT/SUSYBSM/" + triggerPath_);
229 
230  // offline quantities
231 
232  // online quantities
233  h_triggerMuPt = ibooker_.book1D("triggerMuPt", "Trigger Muon Pt; GeV", 50, 0.0, 500.0);
234  h_triggerMuEta = ibooker_.book1D("triggerMuEta", "Trigger Muon Eta", 20, -3.0, 3.0);
235  h_triggerMuPhi = ibooker_.book1D("triggerMuPhi", "Trigger Muon Phi", 20, -3.5, 3.5);
236 
237  h_triggerDoubleMuMass = ibooker_.book1D("triggerDoubleMuMass", "Trigger DoubleMuon Mass", 202, -2, 200);
238 
239  // num and den hists to be divided in harvesting step to make turn on curves
240  h_pfHTTurnOn_num = ibooker_.book1D("pfHTTurnOn_num", "PF HT Turn On Numerator", 30, 0.0, 1500.0);
241  h_pfHTTurnOn_den = ibooker_.book1D("pfHTTurnOn_den", "PF HT Turn On Denominator", 30, 0.0, 1500.0);
242  h_MuTurnOn_num = ibooker_.book1D("MuTurnOn_num", "Muon Turn On Numerator", 30, 0.0, 150);
243  h_MuTurnOn_den = ibooker_.book1D("MuTurnOn_den", "Muon Turn On Denominator", 30, 0.0, 150.0);
244 
245  ibooker_.cd();
246 }
void SUSY_HLT_DoubleMuon_Hadronic::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &  e 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 34 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

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

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

Reimplemented from DQMEDAnalyzer.

Definition at line 222 of file SUSY_HLT_DoubleMuon_Hadronic.cc.

222  {
223  edm::LogInfo("SUSY_HLT_DoubleMuon_Hadronic") << "SUSY_HLT_DoubleMuon_Hadronic::endRun" << std::endl;
224 }

Member Data Documentation

double SUSY_HLT_DoubleMuon_Hadronic::etaThrJet_
private

Definition at line 57 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

HLTConfigProvider SUSY_HLT_DoubleMuon_Hadronic::fHltConfig
private

Definition at line 49 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by dqmBeginRun().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_MuTurnOn_den
private

Definition at line 67 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_MuTurnOn_num
private

Definition at line 66 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_pfHTTurnOn_den
private

Definition at line 65 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_pfHTTurnOn_num
private

Definition at line 64 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_triggerDoubleMuMass
private

Definition at line 63 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_triggerMuEta
private

Definition at line 61 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_triggerMuPhi
private

Definition at line 62 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_DoubleMuon_Hadronic::h_triggerMuPt
private

Definition at line 60 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and bookHistos().

std::string SUSY_HLT_DoubleMuon_Hadronic::HLTProcess_
private

Definition at line 51 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by dqmBeginRun(), and SUSY_HLT_DoubleMuon_Hadronic().

double SUSY_HLT_DoubleMuon_Hadronic::ptThrJet_
private

Definition at line 56 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

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

Definition at line 45 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

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

Definition at line 43 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

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

Definition at line 44 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

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

Definition at line 47 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

edm::InputTag SUSY_HLT_DoubleMuon_Hadronic::triggerFilter_
private

Definition at line 55 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

std::string SUSY_HLT_DoubleMuon_Hadronic::triggerPath_
private
std::string SUSY_HLT_DoubleMuon_Hadronic::triggerPathAuxiliaryForHadronic_
private

Definition at line 54 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

std::string SUSY_HLT_DoubleMuon_Hadronic::triggerPathAuxiliaryForMuon_
private

Definition at line 53 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().

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

Definition at line 46 of file SUSY_HLT_DoubleMuon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_DoubleMuon_Hadronic().