1 #ifndef TOPDILEPTONHLTOFFLINEDQM 2 #define TOPDILEPTONHLTOFFLINEDQM 87 void fill(
const std::string histName,
double xValue,
double yValue,
double zValue)
const {
if(
booked(histName.c_str()))
hists_.find(histName.c_str())->
second->Fill(xValue, yValue, zValue); };
98 std::vector< edm::EDGetTokenT< edm::View<reco::MET> > >
mets_;
153 std::map<std::string,MonitorElement*>
hists_;
167 hists_[hist.c_str()]->getTH1()->SetOption(
"TEXT");
168 hists_[hist.c_str()]->setBinLabel( 1 ,
"Run" , 1);
169 hists_[hist.c_str()]->setBinLabel( 2 ,
"Block" , 1);
170 hists_[hist.c_str()]->setBinLabel( 3 ,
"Event" , 1);
171 hists_[hist.c_str()]->setBinLabel( 6 ,
"pt_{L2L3}(jet1)" , 1);
172 hists_[hist.c_str()]->setBinLabel( 7 ,
"pt_{L2L3}(jet2)" , 1);
173 hists_[hist.c_str()]->setBinLabel( 8 ,
"MET_{Calo}" , 1);
174 hists_[hist.c_str()]->setAxisTitle(
"logged evts" , 2);
176 if(hist==
"diMuonLogger_"){
177 hists_[hist.c_str()]->setBinLabel( 4 ,
"pt(muon)" , 1);
178 hists_[hist.c_str()]->setBinLabel( 5 ,
"pt(muon)" , 1);
180 if(hist==
"diElecLogger_"){
181 hists_[hist.c_str()]->setBinLabel( 4 ,
"pt(elec)" , 1);
182 hists_[hist.c_str()]->setBinLabel( 5 ,
"pt(elec)" , 1);
184 if(hist==
"elecMuLogger_"){
185 hists_[hist.c_str()]->setBinLabel( 4 ,
"pt(elec)" , 1);
186 hists_[hist.c_str()]->setBinLabel( 5 ,
"pt(muon)" , 1);
193 for(
unsigned int idx=0;
idx<labels.size(); ++
idx){
201 for(
unsigned int idx=0;
idx<labels.size(); ++
idx){
203 fill((channel+
"Mon_").c_str(), idx+0.5 );
258 if( beamspotSelect_ )
delete beamspotSelect_;
259 if( vertexSelect_ )
delete vertexSelect_;
299 std::map<std::string, std::pair<edm::ParameterSet, HLTOfflineDQMTopDiLepton::MonitorDiLepton*> >
selection_;
bool hasRawTriggerSummary
std::string monitorPath(const std::string &label) const
double lowerEdge_
mass window upper and lower edge
StringCutObjectSelector< reco::Muon > * muonSelect_
extra selection on muons
edm::EDGetTokenT< reco::BeamSpot > beamspot_
beamspot
StringCutObjectSelector< reco::GsfElectron > * elecSelect_
extra selection on electrons
def analyze(function, filename, filter=None)
std::string selectionPath(const std::string &label) const
std::string processName_
hlt objects
def setup(process, global_tag, zero_tesla=False)
int elecMuLogged_
number of logged interesting events
edm::EDGetTokenT< edm::View< reco::GsfElectron > > elecs_
input sources for monitoring
bool booked(const std::string histName) const
check if histogram was booked
StringCutObjectSelector< reco::GsfElectron > * elecIso_
extra isolation criterion on electron
edm::EDGetTokenT< edm::View< reco::Jet > > jets_
void bookHistograms(fwlite::EventContainer &eventCont)
trigger::Vids electronIds_
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
std::vector< std::string > triggerPaths_
trigger paths
std::vector< edm::EDGetTokenT< edm::View< reco::MET > > > mets_
considers a vector of METs
std::map< std::string, SelectionStepHLTBase * > selectmap_
std::vector< std::string > diMuonPaths_
trigger paths for di muon channel
U second(std::pair< T, U > const &p)
void fill(const std::string histName, double value) const
fill histogram if it had been booked before
std::string jetCorrector_
jetCorrector
reco::LeafCandidate::LorentzVector LorentzVector
StringCutObjectSelector< reco::BeamSpot > * beamspotSelect_
string cut selector
void loggerBinLabels(std::string hist)
set labels for event logging histograms
std::vector< std::string > diElecPaths_
trigger paths for di electron channel
edm::EDGetTokenT< trigger::TriggerEventWithRefs > triggerSummaryTokenAOD
trigger::VRmuon muonRefs_
edm::EDGetTokenT< edm::TriggerResults > triggerTable_
trigger table
std::map< std::string, MonitorElement * > hists_
histogram container
HLTConfigProvider hltConfig_
void fill(const edm::Event &event, const edm::EventSetup &setup, const HLTConfigProvider &hltConfig, const std::vector< std::string > triggerPaths)
fill monitor histograms with electronId and jetCorrections
MonitorDiLepton(const char *label, const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
default contructor
void triggerBinLabels(std::string channel, const std::vector< std::string > &labels)
set configurable labels for trigger monitoring histograms
std::map< std::string, std::pair< edm::ParameterSet, HLTOfflineDQMTopDiLepton::MonitorDiLepton * > > selection_
~MonitorDiLepton()
default destructor
~TopDiLeptonHLTOfflineDQM()
default destructor
bool acceptHLT(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::vector< std::string > selectionOrder_
trigger::VRelectron electronRefs_
void book(DQMStore::IBooker &store_)
book histograms in subdirectory directory
std::string objectType(const std::string &label)
std::vector< reco::RecoChargedCandidateRef > VRmuon
void fill(const std::string histName, double xValue, double yValue) const
fill histogram if it had been booked before (2-dim version)
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label
define MonitorDiLepton to be used
edm::EDGetTokenT< trigger::TriggerEventWithRefs > triggerSummaryTokenRAW
std::vector< reco::ElectronRef > VRelectron
edm::EDGetTokenT< edm::View< reco::Muon > > muons_
edm::EDGetTokenT< std::vector< reco::Vertex > > vertex_
primary vertex
static std::string const triggerPaths
std::vector< std::string > elecMuPaths_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
edm::EDGetTokenT< edm::TriggerResults > triggerTable_
trigger table
std::string label_
instance label
StringCutObjectSelector< reco::Muon > * muonIso_
extra isolation criterion on muon
StringCutObjectSelector< reco::JetID > * jetIDSelect_
extra jetID selection on calo jets
StringCutObjectSelector< reco::Vertex > * vertexSelect_
string cut selector