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::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_Muon_Hadronic (const edm::ParameterSet &ps)
 
 ~SUSY_HLT_Muon_Hadronic () 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 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 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_Muon_Hadronic.h.

Constructor & Destructor Documentation

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

Definition at line 11 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_.

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

36 {
37  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "Destructor SUSY_HLT_Muon_Hadronic::~SUSY_HLT_Muon_Hadronic " << std::endl;
38 }

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 79 of file SUSY_HLT_Muon_Hadronic.cc.

References edm::HLTGlobalStatus::accept(), comparePt(), trigger::TriggerObject::eta(), Lepton::eta, etaMuonOffline_, etaThrJet_, MonitorElement::Fill(), HcalObjRepresent::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, HTOffline_, trigger::TriggerObject::id(), edm::EventBase::isRealData(), edm::HandleBase::isValid(), relativeConstraints::keys, METOffline_, metsig::muon, 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(), TriggerAnalyzer::triggerObjects, triggerPath_, triggerPathAuxiliaryForHadronic_, triggerPathAuxiliaryForMuon_, triggerResults_, trigNames, and edm::HLTGlobalStatus::wasrun().

79  {
80  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::analyze" << std::endl;
81 
82 
83  //-------------------------------
84  //--- MET
85  //-------------------------------
86  edm::Handle<reco::PFMETCollection> pfMETCollection;
87  e.getByToken(thePfMETCollection_, pfMETCollection);
88  if ( !pfMETCollection.isValid() ){
89  edm::LogError ("SUSY_HLT_Muon_Hadronic") << "invalid collection: PFMET" << "\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_Muon_Hadronic") << "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_Muon_Hadronic") << "invalid collection: CaloJets" << "\n";
105  return;
106  }
107 
108  //-------------------------------
109  //--- Muon
110  //-------------------------------
112  e.getByToken (theMuonCollection_, MuonCollection);
113  if ( !MuonCollection.isValid() ){
114  edm::LogError ("SUSY_HLT_Mu_Hadronic") << "invalid collection: Muons " << "\n";
115  return;
116  }
117 
118 
119  //-------------------------------
120  //--- Trigger
121  //-------------------------------
123  e.getByToken(triggerResults_,hltresults);
124  if(!hltresults.isValid()){
125  edm::LogError ("SUSY_HLT_Muon_Hadronic") << "invalid collection: TriggerResults" << "\n";
126  return;
127  }
128  edm::Handle<trigger::TriggerEvent> triggerSummary;
129  e.getByToken(theTrigSummary_, triggerSummary);
130  if(!triggerSummary.isValid()) {
131  edm::LogError ("SUSY_HLT_Muon_Hadronic") << "invalid collection: TriggerSummary" << "\n";
132  return;
133  }
134 
135 
136  //get online objects
137  std::vector<Lepton> onlineMuons;
138  size_t filterIndex = triggerSummary->filterIndex( triggerFilter_ );
140  if( !(filterIndex >= triggerSummary->sizeFilters()) ){
141  const trigger::Keys& keys = triggerSummary->filterKeys( filterIndex );
142  for( size_t j = 0; j < keys.size(); ++j ){
143  trigger::TriggerObject foundObject = triggerObjects[keys[j]];
144  if(fabs(foundObject.id()) == 13){ //It's a muon
145  h_triggerMuPt->Fill(foundObject.pt());
146  h_triggerMuEta->Fill(foundObject.eta());
147  h_triggerMuPhi->Fill(foundObject.phi());
148  Lepton theMuon; theMuon.pt = foundObject.pt(); theMuon.phi = foundObject.phi(); theMuon.eta = foundObject.eta();
149  onlineMuons.push_back(theMuon);
150  }
151  }
152  }
153 
154 
155  bool hasFired = false;
156  bool hasFiredAuxiliaryForMuonLeg = false;
157  bool hasFiredAuxiliaryForHadronicLeg = false;
158  const edm::TriggerNames& trigNames = e.triggerNames(*hltresults);
159  unsigned int numTriggers = trigNames.size();
160  for( unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex ){
161  if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFired = true;
162  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForMuon_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFiredAuxiliaryForMuonLeg = 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(hasFiredAuxiliaryForMuonLeg || hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) {
169 
170  std::vector<Lepton> offlineMuons;
171  for(reco::MuonCollection::const_iterator muon = MuonCollection->begin(); muon != MuonCollection->end() ; ++muon) {
172  if(fabs(muon->eta())>etaMuonOffline_) continue;
173  Lepton theMuon; theMuon.pt = muon->pt(); theMuon.phi = muon->phi(); theMuon.eta = muon->eta();
174  offlineMuons.push_back(theMuon);
175  }
176 
177  std::sort(onlineMuons.begin(), onlineMuons.end(), comparePt);
178  std::sort(offlineMuons.begin(), offlineMuons.end(), comparePt);
179  /*
180  std::cout << "OFFLINE MUON" << std::endl;
181  for(std::vector<Lepton>::iterator offline_muon = offlineMuons.begin(); offline_muon != offlineMuons.end(); offline_muon++) {
182  std::cout << offline_muon->pt << std::endl;
183  }
184  std::cout << "ONLINE MUON" << std::endl;
185  for(std::vector<Lepton>::iterator online_muon = onlineMuons.begin(); online_muon != onlineMuons.end(); online_muon++) {
186  std::cout << online_muon->pt << std::endl;
187  }
188  */
189  //Matching the muon
190  int indexOfMatchedMuon = -1;
191  int offlineCounter = 0;
192  for(std::vector<Lepton>::iterator offline_muon = offlineMuons.begin(); (offline_muon != offlineMuons.end() && indexOfMatchedMuon == -1); offline_muon++) {
193  for(std::vector<Lepton>::iterator online_muon = onlineMuons.begin(); online_muon != onlineMuons.end(); online_muon++) {
194  if(sqrt( (offline_muon->phi-online_muon->phi)*(offline_muon->phi-online_muon->phi) +
195  (offline_muon->eta-online_muon->eta)*(offline_muon->eta-online_muon->eta)) < 0.5) {
196  indexOfMatchedMuon = offlineCounter;
197  //std::cout << "Offline " << offline_muon->pt << " " << "Online " << online_muon->pt << std::endl;
198  break;
199  }
200  }
201  offlineCounter++;
202  }
203  float caloHT = 0.0;
204  float pfHT = 0.0;
205  for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end(); ++i_pfjet){
206  if (i_pfjet->pt() < ptThrJet_) continue;
207  if (fabs(i_pfjet->eta()) > etaThrJet_) continue;
208  pfHT += i_pfjet->pt();
209  }
210  for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); ++i_calojet){
211  if (i_calojet->pt() < ptThrJet_) continue;
212  if (fabs(i_calojet->eta()) > etaThrJet_) continue;
213  caloHT += i_calojet->pt();
214  }
215  //Need to apply the MET offline cut to be in the MET plateau
216  if((hasFiredAuxiliaryForMuonLeg || !e.isRealData()) && !offlineMuons.empty() && pfMETCollection->begin()->et() > METOffline_ && pfHT > HTOffline_) {
217  if(hasFired && indexOfMatchedMuon >= 0) {
218  h_MuTurnOn_num-> Fill(offlineMuons.at(indexOfMatchedMuon).pt);
219  h_MuTurnOn_den-> Fill(offlineMuons.at(indexOfMatchedMuon).pt);
220  } else {
221  h_MuTurnOn_den-> Fill(offlineMuons.at(0).pt);
222  }
223  }
224  //Need to apply the pt offline cut to be in the muon pt plateau
225  if((hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) && indexOfMatchedMuon >= 0 && offlineMuons.at(indexOfMatchedMuon).pt > ptMuonOffline_ && pfHT > HTOffline_) {
226  if(hasFired) {
227  h_pfMetTurnOn_num-> Fill(pfMETCollection->begin()->et());
228  }
229  h_pfMetTurnOn_den-> Fill(pfMETCollection->begin()->et());
230  }
231  if((hasFiredAuxiliaryForHadronicLeg || !e.isRealData()) && indexOfMatchedMuon >= 0 && offlineMuons.at(indexOfMatchedMuon).pt > ptMuonOffline_ && pfMETCollection->begin()->et() > METOffline_) {
232  if(hasFired) {
233  h_pfHTTurnOn_num-> Fill(pfHT);
234  }
235  h_pfHTTurnOn_den-> Fill(pfHT);
236  }
237  }
238 }
bool wasrun() const
Was at least one path run?
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
int id() const
getters
Definition: TriggerObject.h:55
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:135
float phi() const
Definition: TriggerObject.h:58
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
std::string triggerPathAuxiliaryForHadronic_
Strings::size_type size() const
Definition: TriggerNames.cc:39
float eta() const
Definition: TriggerObject.h:57
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
void Fill(long long x)
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:98
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * h_pfMetTurnOn_num
bool isValid() const
Definition: HandleBase.h:74
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:81
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:74
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
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 69 of file SUSY_HLT_Muon_Hadronic.cc.

References bookHistos().

70 {
71  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::bookHistograms" << std::endl;
72  //book at beginRun
73  bookHistos(ibooker_);
74 }
void bookHistos(DQMStore::IBooker &)
void SUSY_HLT_Muon_Hadronic::bookHistos ( DQMStore::IBooker ibooker_)
private

Definition at line 248 of file SUSY_HLT_Muon_Hadronic.cc.

References DQMStore::IBooker::book1D(), 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, DQMStore::IBooker::setCurrentFolder(), and triggerPath_.

Referenced by bookHistograms().

249 {
250  ibooker_.cd();
251  ibooker_.setCurrentFolder("HLT/SUSYBSM/" + triggerPath_);
252 
253  //offline quantities
254 
255  //online quantities
256  h_triggerMuPt = ibooker_.book1D("triggerMuPt", "Trigger Muon Pt; GeV", 20, 0.0, 500.0);
257  h_triggerMuEta = ibooker_.book1D("triggerMuEta", "Trigger Muon Eta", 20, -3.0, 3.0);
258  h_triggerMuPhi = ibooker_.book1D("triggerMuPhi", "Trigger Muon Phi", 20, -3.5, 3.5);
259 
260  //num and den hists to be divided in harvesting step to make turn on curves
261  h_pfMetTurnOn_num = ibooker_.book1D("pfMetTurnOn_num", "PF MET Turn On Numerator", 20, 0.0, 500.0 );
262  h_pfMetTurnOn_den = ibooker_.book1D("pfMetTurnOn_den", "PF MET Turn OnDenominator", 20, 0.0, 500.0 );
263  h_pfHTTurnOn_num = ibooker_.book1D("pfHTTurnOn_num", "PF HT Turn On Numerator", 30, 0.0, 1500.0 );
264  h_pfHTTurnOn_den = ibooker_.book1D("pfHTTurnOn_den", "PF HT Turn On Denominator", 30, 0.0, 1500.0 );
265  h_MuTurnOn_num = ibooker_.book1D("MuTurnOn_num", "Muon Turn On Numerator", 30, 0.0, 150 );
266  h_MuTurnOn_den = ibooker_.book1D("MuTurnOn_den", "Muon Turn On Denominator", 30, 0.0, 150.0 );
267 
268  ibooker_.cd();
269 }
MonitorElement * h_pfMetTurnOn_num
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * h_pfHTTurnOn_den
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
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 40 of file SUSY_HLT_Muon_Hadronic.cc.

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

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

Definition at line 243 of file SUSY_HLT_Muon_Hadronic.cc.

244 {
245  edm::LogInfo("SUSY_HLT_Muon_Hadronic") << "SUSY_HLT_Muon_Hadronic::endRun" << std::endl;
246 }

Member Data Documentation

double SUSY_HLT_Muon_Hadronic::etaMuonOffline_
private

Definition at line 72 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 76 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 64 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by dqmBeginRun().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_MuTurnOn_den
private

Definition at line 87 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_MuTurnOn_num
private

Definition at line 86 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfHTTurnOn_den
private

Definition at line 85 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfHTTurnOn_num
private

Definition at line 84 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfMetTurnOn_den
private

Definition at line 83 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_pfMetTurnOn_num
private

Definition at line 82 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuEta
private

Definition at line 80 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuPhi
private

Definition at line 81 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_Muon_Hadronic::h_triggerMuPt
private

Definition at line 79 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and bookHistos().

std::string SUSY_HLT_Muon_Hadronic::HLTProcess_
private

Definition at line 66 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 73 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 74 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 71 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 75 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 59 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 56 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 58 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 57 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 61 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 70 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 67 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 69 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 68 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 60 of file SUSY_HLT_Muon_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_Muon_Hadronic().