CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
SUSY_HLT_MuEle_Hadronic Class Reference

#include <SUSY_HLT_MuEle_Hadronic.h>

Inheritance diagram for SUSY_HLT_MuEle_Hadronic:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 SUSY_HLT_MuEle_Hadronic (const edm::ParameterSet &ps)
 
virtual ~SUSY_HLT_MuEle_Hadronic ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup)
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &eSetup)
 
void endRun (edm::Run const &run, edm::EventSetup const &eSetup)
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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_
 
HLTConfigProvider fHltConfig
 
MonitorElementh_EleTurnOn_den
 
MonitorElementh_EleTurnOn_num
 
MonitorElementh_MuTurnOn_den
 
MonitorElementh_MuTurnOn_num
 
MonitorElementh_pfHTTurnOn_den
 
MonitorElementh_pfHTTurnOn_num
 
MonitorElementh_triggerEleEta
 
MonitorElementh_triggerElePhi
 
MonitorElementh_triggerElePt
 
MonitorElementh_triggerMuEleMass
 
MonitorElementh_triggerMuEta
 
MonitorElementh_triggerMuPhi
 
MonitorElementh_triggerMuPt
 
std::string HLTProcess_
 
double ptThrJet_
 
edm::EDGetTokenT
< reco::CaloJetCollection
theCaloJetCollection_
 
edm::EDGetTokenT
< reco::GsfElectronCollection
theElectronCollection_
 
edm::EDGetTokenT
< reco::MuonCollection
theMuonCollection_
 
edm::EDGetTokenT
< reco::PFJetCollection
thePfJetCollection_
 
edm::EDGetTokenT
< trigger::TriggerEvent
theTrigSummary_
 
edm::InputTag triggerFilter_
 
std::string triggerPath_
 
std::string triggerPathAuxiliaryForHadronic_
 
std::string triggerPathAuxiliaryForMuEle_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResults_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 39 of file SUSY_HLT_MuEle_Hadronic.h.

Constructor & Destructor Documentation

SUSY_HLT_MuEle_Hadronic::SUSY_HLT_MuEle_Hadronic ( const edm::ParameterSet ps)

Definition at line 9 of file SUSY_HLT_MuEle_Hadronic.cc.

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

10 {
11  edm::LogInfo("SUSY_HLT_MuEle_Hadronic") << "Constructor SUSY_HLT_MuEle_Hadronic::SUSY_HLT_MuEle_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  theElectronCollection_ = consumes<reco::GsfElectronCollection>(ps.getParameter<edm::InputTag>("ElectronCollection"));
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  triggerPathAuxiliaryForMuEle_ = ps.getParameter<std::string>("TriggerPathAuxiliaryForMuEle");
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< reco::MuonCollection > theMuonCollection_
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::PFJetCollection > thePfJetCollection_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
SUSY_HLT_MuEle_Hadronic::~SUSY_HLT_MuEle_Hadronic ( )
virtual

Definition at line 28 of file SUSY_HLT_MuEle_Hadronic.cc.

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

Member Function Documentation

void SUSY_HLT_MuEle_Hadronic::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 77 of file SUSY_HLT_MuEle_Hadronic.cc.

References HLT_FULL_cff::caloJetCollection, metsig::electron, trigger::TriggerObject::eta(), etaThrJet_, MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByToken(), h_EleTurnOn_den, h_EleTurnOn_num, h_MuTurnOn_den, h_MuTurnOn_num, h_pfHTTurnOn_den, h_pfHTTurnOn_num, h_triggerEleEta, h_triggerElePhi, h_triggerElePt, h_triggerMuEleMass, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, trigger::TriggerObject::id(), edm::HandleBase::isValid(), j, relativeConstraints::keys, metsig::muon, HLT_FULL_cff::pfJetCollection, trigger::TriggerObject::phi(), trigger::TriggerObject::pt(), ptThrJet_, edm::TriggerNames::size(), mathSSE::sqrt(), theCaloJetCollection_, theElectronCollection_, theMuonCollection_, thePfJetCollection_, theTrigSummary_, triggerFilter_, edm::TriggerNames::triggerName(), edm::Event::triggerNames(), triggerPath_, triggerPathAuxiliaryForHadronic_, triggerPathAuxiliaryForMuEle_, triggerResults_, trigNames, and x.

77  {
78  edm::LogInfo("SUSY_HLT_MuEle_Hadronic") << "SUSY_HLT_MuEle_Hadronic::analyze" << std::endl;
79 
80  //-------------------------------
81  //--- Jets
82  //-------------------------------
84  e.getByToken (thePfJetCollection_,pfJetCollection);
85  if ( !pfJetCollection.isValid() ){
86  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: PFJets" << "\n";
87  return;
88  }
90  e.getByToken (theCaloJetCollection_,caloJetCollection);
91  if ( !caloJetCollection.isValid() ){
92  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: CaloJets" << "\n";
93  return;
94  }
95 
96  //-------------------------------
97  //--- Muon
98  //-------------------------------
100  e.getByToken (theMuonCollection_, MuonCollection);
101  if ( !MuonCollection.isValid() ){
102  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: Muons " << "\n";
103  return;
104  }
105 
106  //-------------------------------
107  //--- Electron
108  //-------------------------------
110  e.getByToken (theElectronCollection_, ElectronCollection);
111  if ( !ElectronCollection.isValid() ){
112  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: Electrons " << "\n";
113  return;
114  }
115 
116  //-------------------------------
117  //--- Trigger
118  //-------------------------------
120  e.getByToken(triggerResults_,hltresults);
121  if(!hltresults.isValid()){
122  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: TriggerResults" << "\n";
123  return;
124  }
125  edm::Handle<trigger::TriggerEvent> triggerSummary;
126  e.getByToken(theTrigSummary_, triggerSummary);
127  if(!triggerSummary.isValid()) {
128  edm::LogError ("SUSY_HLT_MuEle_Hadronic") << "invalid collection: TriggerSummary" << "\n";
129  return;
130  }
131 
132 
133  //get online objects
134  std::vector<float> ptMuon, etaMuon, phiMuon, ptElectron, etaElectron, phiElectron;
135  size_t filterIndexEle = triggerSummary->filterIndex( triggerFilter_ );
136  trigger::TriggerObjectCollection triggerObjects = triggerSummary->getObjects();
137  if( !(filterIndexEle >= triggerSummary->sizeFilters()) ){
138  const trigger::Keys& keys = triggerSummary->filterKeys( filterIndexEle );
139  for( size_t j = 0; j < keys.size(); ++j ){
140  trigger::TriggerObject foundObject = triggerObjects[keys[j]];
141  if(fabs(foundObject.id()) == 11){ //It's an electron
142 
143  bool same= false;
144  for(unsigned int x=0;x<ptElectron.size();x++){
145  if(fabs(ptElectron[x] - foundObject.pt()) < 0.01 || fabs(etaElectron[x] - foundObject.eta()) < 0.001 || fabs(phiElectron[x] - foundObject.phi()) < 0.001)
146  same = true;
147  }
148 
149  if(!same){
150  h_triggerElePt->Fill(foundObject.pt());
151  h_triggerEleEta->Fill(foundObject.eta());
152  h_triggerElePhi->Fill(foundObject.phi());
153  ptElectron.push_back(foundObject.pt());
154  etaElectron.push_back(foundObject.eta());
155  phiElectron.push_back(foundObject.phi());
156  }
157  }
158  if(fabs(foundObject.id()) == 13){ //It's a muon
159 
160  bool same= false;
161  for(unsigned int x=0;x<ptMuon.size();x++){
162  if(fabs(ptMuon[x] - foundObject.pt()) < 0.01)
163  same = true;
164  }
165 
166  if(!same){
167  h_triggerMuPt->Fill(foundObject.pt());
168  h_triggerMuEta->Fill(foundObject.eta());
169  h_triggerMuPhi->Fill(foundObject.phi());
170  ptMuon.push_back(foundObject.pt());
171  etaMuon.push_back(foundObject.eta());
172  phiMuon.push_back(foundObject.phi());
173  }
174  }
175 
176  }
177 
178  }
179 
180  if (ptMuon.size()>=1 && ptElectron.size() >= 1) {
181  math::PtEtaPhiMLorentzVectorD* mu1 = new math::PtEtaPhiMLorentzVectorD(ptMuon[0],etaMuon[0],phiMuon[0],0.106);
182  math::PtEtaPhiMLorentzVectorD* ele2 = new math::PtEtaPhiMLorentzVectorD(ptElectron[0],etaElectron[0],phiElectron[0],0.0005);
183  (*mu1)+=(*ele2);
184  h_triggerMuEleMass->Fill(mu1->M());
185  delete mu1;
186  delete ele2;
187  } else {
188  h_triggerMuEleMass->Fill(-1.);
189  }
190 
191 
192  bool hasFired = false;
193  bool hasFiredAuxiliaryForMuEleLeg = false;
194  bool hasFiredAuxiliaryForHadronicLeg = false;
195  const edm::TriggerNames& trigNames = e.triggerNames(*hltresults);
196  unsigned int numTriggers = trigNames.size();
197  for( unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex ){
198  if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFired = true;
199  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForMuEle_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFiredAuxiliaryForMuEleLeg = true;
200  if (trigNames.triggerName(hltIndex).find(triggerPathAuxiliaryForHadronic_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)) hasFiredAuxiliaryForHadronicLeg = true;
201  }
202 
203 
204 
205  if(hasFiredAuxiliaryForMuEleLeg || hasFiredAuxiliaryForHadronicLeg) {
206 
207  //Matching the muon
208  int indexOfMatchedMuEle[2] = {-1};
209  int matchedCounter = 0;
210  int offlineCounter = 0;
211  for(reco::MuonCollection::const_iterator muon = MuonCollection->begin(); (muon != MuonCollection->end() && matchedCounter < 1) ; ++muon) {
212  for(size_t off_i = 0; off_i < ptMuon.size(); ++off_i) {
213  if(sqrt((muon->phi()-phiMuon[off_i])*(muon->phi()-phiMuon[off_i]) + (muon->eta()-etaMuon[off_i])*(muon->eta()-etaMuon[off_i])) < 0.5) {
214  indexOfMatchedMuEle[matchedCounter] = offlineCounter;
215  matchedCounter++;
216  break;
217  }
218  }
219  offlineCounter++;
220  }
221 
222  for(reco::GsfElectronCollection::const_iterator electron = ElectronCollection->begin(); (electron != ElectronCollection->end() && matchedCounter < 2) ; ++electron) {
223  for(size_t off_i = 0; off_i < ptElectron.size(); ++off_i) {
224  if(sqrt((electron->phi()-phiElectron[off_i])*(electron->phi()-phiElectron[off_i]) + (electron->eta()-etaElectron[off_i])*(electron->eta()-etaElectron[off_i])) < 0.5) {
225  indexOfMatchedMuEle[matchedCounter] = offlineCounter;
226  matchedCounter++;
227  break;
228  }
229  }
230  offlineCounter++;
231  }
232 
233  float caloHT = 0.0;
234  float pfHT = 0.0;
235  for (reco::PFJetCollection::const_iterator i_pfjet = pfJetCollection->begin(); i_pfjet != pfJetCollection->end(); ++i_pfjet){
236  if (i_pfjet->pt() < ptThrJet_) continue;
237  if (fabs(i_pfjet->eta()) > etaThrJet_) continue;
238  pfHT += i_pfjet->pt();
239  }
240  for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); ++i_calojet){
241  if (i_calojet->pt() < ptThrJet_) continue;
242  if (fabs(i_calojet->eta()) > etaThrJet_) continue;
243  caloHT += i_calojet->pt();
244  }
245 
246  if(hasFiredAuxiliaryForMuEleLeg && MuonCollection->size()>0 && ElectronCollection->size()>0) {
247  if(hasFired && indexOfMatchedMuEle[1] >= 0 && indexOfMatchedMuEle[0] >= 0) { //check that ele is there too
248  h_EleTurnOn_num-> Fill(ElectronCollection->at(indexOfMatchedMuEle[1]).pt());
249  h_MuTurnOn_num-> Fill(MuonCollection->at(indexOfMatchedMuEle[0]).pt());
250  }
251  h_MuTurnOn_den-> Fill(MuonCollection->at(0).pt());
252  h_EleTurnOn_den-> Fill(ElectronCollection->at(0).pt());
253  }
254 
255  if(hasFiredAuxiliaryForHadronicLeg) {
256  if(hasFired) {
257  h_pfHTTurnOn_num-> Fill(pfHT);
258  }
259  h_pfHTTurnOn_den-> Fill(pfHT);
260  }
261  }
262 }
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > PtEtaPhiMLorentzVectorD
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:10
tuple caloJetCollection
int id() const
getters
Definition: TriggerObject.h:55
float phi() const
Definition: TriggerObject.h:58
Strings::size_type size() const
Definition: TriggerNames.cc:39
float eta() const
Definition: TriggerObject.h:57
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollection_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
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:22
tuple pfJetCollection
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:48
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
int j
Definition: DBlmapReader.cc:9
bool isValid() const
Definition: HandleBase.h:75
std::vector< Electron > ElectronCollection
collectin of Electron objects
Definition: ElectronFwd.h:9
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
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
std::vector< size_type > Keys
Definition: DDAxes.h:10
void SUSY_HLT_MuEle_Hadronic::beginLuminosityBlock ( edm::LuminosityBlock const &  lumi,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 69 of file SUSY_HLT_MuEle_Hadronic.cc.

71 {
72  edm::LogInfo("SUSY_HLT_MuEle_Hadronic") << "SUSY_HLT_MuEle_Hadronic::beginLuminosityBlock" << std::endl;
73 }
void SUSY_HLT_MuEle_Hadronic::bookHistograms ( DQMStore::IBooker ibooker_,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 62 of file SUSY_HLT_MuEle_Hadronic.cc.

References bookHistos().

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

Definition at line 276 of file SUSY_HLT_MuEle_Hadronic.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::cd(), h_EleTurnOn_den, h_EleTurnOn_num, h_MuTurnOn_den, h_MuTurnOn_num, h_pfHTTurnOn_den, h_pfHTTurnOn_num, h_triggerEleEta, h_triggerElePhi, h_triggerElePt, h_triggerMuEleMass, h_triggerMuEta, h_triggerMuPhi, h_triggerMuPt, DQMStore::IBooker::setCurrentFolder(), and triggerPath_.

Referenced by bookHistograms().

277 {
278  ibooker_.cd();
279  ibooker_.setCurrentFolder("HLT/SUSYBSM/" + triggerPath_);
280 
281  //offline quantities
282 
283  //online quantities
284  h_triggerMuPt = ibooker_.book1D("triggerMuPt", "Trigger Muon Pt; GeV", 50, 0.0, 500.0);
285  h_triggerMuEta = ibooker_.book1D("triggerMuEta", "Trigger Muon Eta", 20, -3.0, 3.0);
286  h_triggerMuPhi = ibooker_.book1D("triggerMuPhi", "Trigger Muon Phi", 20, -3.5, 3.5);
287 
288  h_triggerElePt = ibooker_.book1D("triggerElePt", "Trigger Electron Pt; GeV", 50, 0.0, 500.0);
289  h_triggerEleEta = ibooker_.book1D("triggerEleEta", "Trigger Electron Eta", 20, -3.0, 3.0);
290  h_triggerElePhi = ibooker_.book1D("triggerElePhi", "Trigger Electron Phi", 20, -3.5, 3.5);
291 
292  h_triggerMuEleMass = ibooker_.book1D("triggerMuEleMass", "Trigger MuEle Mass", 202, -2, 200);
293 
294  //num and den hists to be divided in harvesting step to make turn on curves
295  h_pfHTTurnOn_num = ibooker_.book1D("pfHTTurnOn_num", "PF HT Turn On Numerator", 30, 0.0, 1500.0 );
296  h_pfHTTurnOn_den = ibooker_.book1D("pfHTTurnOn_den", "PF HT Turn On Denominator", 30, 0.0, 1500.0 );
297  h_MuTurnOn_num = ibooker_.book1D("MuTurnOn_num", "Muon Turn On Numerator", 30, 0.0, 150 );
298  h_MuTurnOn_den = ibooker_.book1D("MuTurnOn_den", "Muon Turn On Denominator", 30, 0.0, 150.0 );
299  h_EleTurnOn_num = ibooker_.book1D("EleTurnOn_num", "Electron Turn On Numerator", 30, 0.0, 150 );
300  h_EleTurnOn_den = ibooker_.book1D("EleTurnOn_den", "Electron Turn On Denominator", 30, 0.0, 150.0 );
301 
302  ibooker_.cd();
303 }
void cd(void)
Definition: DQMStore.cc:266
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
void SUSY_HLT_MuEle_Hadronic::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &  e 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 33 of file SUSY_HLT_MuEle_Hadronic.cc.

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

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

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 265 of file SUSY_HLT_MuEle_Hadronic.cc.

266 {
267  edm::LogInfo("SUSY_HLT_MuEle_Hadronic") << "SUSY_HLT_MuEle_Hadronic::endLuminosityBlock" << std::endl;
268 }
void SUSY_HLT_MuEle_Hadronic::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 271 of file SUSY_HLT_MuEle_Hadronic.cc.

272 {
273  edm::LogInfo("SUSY_HLT_MuEle_Hadronic") << "SUSY_HLT_MuEle_Hadronic::endRun" << std::endl;
274 }

Member Data Documentation

double SUSY_HLT_MuEle_Hadronic::etaThrJet_
private

Definition at line 74 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

HLTConfigProvider SUSY_HLT_MuEle_Hadronic::fHltConfig
private

Definition at line 66 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by dqmBeginRun().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_EleTurnOn_den
private

Definition at line 89 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_EleTurnOn_num
private

Definition at line 88 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_MuTurnOn_den
private

Definition at line 87 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_MuTurnOn_num
private

Definition at line 86 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_pfHTTurnOn_den
private

Definition at line 85 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_pfHTTurnOn_num
private

Definition at line 84 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerEleEta
private

Definition at line 81 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerElePhi
private

Definition at line 82 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerElePt
private

Definition at line 80 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerMuEleMass
private

Definition at line 83 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerMuEta
private

Definition at line 78 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerMuPhi
private

Definition at line 79 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

MonitorElement* SUSY_HLT_MuEle_Hadronic::h_triggerMuPt
private

Definition at line 77 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and bookHistos().

std::string SUSY_HLT_MuEle_Hadronic::HLTProcess_
private

Definition at line 68 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by dqmBeginRun(), and SUSY_HLT_MuEle_Hadronic().

double SUSY_HLT_MuEle_Hadronic::ptThrJet_
private

Definition at line 73 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

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

Definition at line 61 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

edm::EDGetTokenT<reco::GsfElectronCollection> SUSY_HLT_MuEle_Hadronic::theElectronCollection_
private

Definition at line 59 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

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

Definition at line 58 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

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

Definition at line 60 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

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

Definition at line 63 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

edm::InputTag SUSY_HLT_MuEle_Hadronic::triggerFilter_
private

Definition at line 72 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

std::string SUSY_HLT_MuEle_Hadronic::triggerPath_
private
std::string SUSY_HLT_MuEle_Hadronic::triggerPathAuxiliaryForHadronic_
private

Definition at line 71 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

std::string SUSY_HLT_MuEle_Hadronic::triggerPathAuxiliaryForMuEle_
private

Definition at line 70 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().

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

Definition at line 62 of file SUSY_HLT_MuEle_Hadronic.h.

Referenced by analyze(), and SUSY_HLT_MuEle_Hadronic().