1 #ifndef SINGLETOPTCHANNELLEPTONDQM_MINIAOD 2 #define SINGLETOPTCHANNELLEPTONDQM_MINIAOD 53 return label.substr(label.find(
':') + 1);
58 return label.substr(0, label.find(
':'));
63 const std::vector<std::string>
labels);
66 std::string channel,
const std::vector<std::string> labels)
const;
74 if (
booked(histName.c_str()))
79 if (
booked(histName.c_str()))
80 hists_.find(histName.c_str())->
second->Fill(xValue, yValue);
84 double zValue)
const {
85 if (
booked(histName.c_str()))
86 hists_.find(histName.c_str())->
second->Fill(xValue, yValue, zValue);
95 std::vector<edm::EDGetTokenT<edm::View<pat::MET> > >
mets_;
127 std::unique_ptr<StringCutObjectSelector<reco::Vertex> >
pvSelect_;
162 std::map<std::string, MonitorElement*>
hists_;
167 std::unique_ptr<StringCutObjectSelector<pat::Muon, true> >
muonSelect;
168 std::unique_ptr<StringCutObjectSelector<pat::Muon, true> >
muonIso;
171 std::unique_ptr<StringCutObjectSelector<reco::PFJet> >
jetSelectPF;
174 std::unique_ptr<StringCutObjectSelector<pat::Electron, true> >
elecSelect;
175 std::unique_ptr<StringCutObjectSelector<pat::Electron, true> >
elecIso;
182 for (
unsigned int idx = 0;
idx < labels.size(); ++
idx) {
183 hists_[(channel +
"Mon_").c_str()]
185 hists_[(channel +
"Eff_").c_str()]
186 ->setBinLabel(idx + 1,
"[" +
selectionPath(labels[idx]) +
"]|[" +
195 const std::vector<std::string>
labels)
const {
196 for (
unsigned int idx = 0;
idx < labels.size(); ++
idx) {
198 fill((channel +
"Mon_").c_str(), idx + 0.5);
200 int evts =
hists_.find((channel +
"Mon_").c_str())
201 ->second->getBinContent(idx + 1);
202 double value =
hists_.find((channel +
"Eff_").c_str())
203 ->second->getBinContent(idx + 1);
205 (channel +
"Eff_").c_str(), idx + 0.5,
247 return label.substr(0, label.find(
':'));
252 return label.substr(label.find(
':') + 1);
279 std::unique_ptr<SingleTopTChannelLepton_miniAOD::MonitorEnsemble> > >
284 std::unique_ptr<SelectionStep<reco::Vertex> >
pvStep_;
286 std::vector<std::unique_ptr<SelectionStep<pat::Jet> > >
jetSteps_;
288 std::unique_ptr<SelectionStep<pat::MET> >
metStep_;
289 std::vector<edm::ParameterSet>
sel;
MonitorEnsemble(const char *label, const edm::ParameterSet &cfg, const edm::VParameterSet &vcfg, edm::ConsumesCollector &&iC)
default contructor
std::vector< std::string > selectionOrder_
std::unique_ptr< SelectionStep< pat::Electron > > electronStep_
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label
std::string selectionPath(const std::string &label) const
~SingleTopTChannelLeptonDQM_miniAOD()
default destructor
std::map< std::string, MonitorElement * > hists_
edm::EDGetTokenT< edm::View< pat::Electron > > elecs_gsf_
edm::EDGetTokenT< edm::TriggerResults > triggerTable_
trigger table
std::vector< std::string > triggerPaths_
edm::EDGetTokenT< edm::View< pat::Muon > > elecs_
def analyze(function, filename, filter=None)
std::vector< ParameterSet > VParameterSet
std::unique_ptr< StringCutObjectSelector< reco::JetID > > jetIDSelect_
extra jetID selection on calo jets
void triggerBinLabels(std::string channel, const std::vector< std::string > labels)
set configurable labels for trigger monitoring histograms
Level verbosity_
verbosity level for booking
def setup(process, global_tag, zero_tesla=False)
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
Level
different verbosity levels
std::unique_ptr< StringCutObjectSelector< pat::Muon, true > > muonIso
std::map< std::string, std::pair< edm::ParameterSet, std::unique_ptr< SingleTopTChannelLepton_miniAOD::MonitorEnsemble > > > selection_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
std::string monitorPath(const std::string &label) const
void bookHistograms(fwlite::EventContainer &eventCont)
edm::EDGetTokenT< edm::View< pat::Jet > > jets_
input sources for monitoring
double lowerEdge_
mass window upper and lower edge
U second(std::pair< T, U > const &p)
std::unique_ptr< StringCutObjectSelector< pat::Electron, true > > elecSelect
std::string jetCorrector_
jetCorrector
void fill(const edm::Event &event, const edm::EventSetup &setup)
fill monitor histograms with electronId and jetCorrections
std::string selectionStep(const std::string &label)
edm::EDGetTokenT< edm::View< pat::Muon > > muons_
std::unique_ptr< StringCutObjectSelector< reco::CaloJet > > jetSelectCalo
int logged_
number of logged interesting events
std::unique_ptr< SelectionStep< pat::MET > > metStep_
std::unique_ptr< StringCutObjectSelector< reco::Vertex > > pvSelect_
std::string objectType(const std::string &label)
std::unique_ptr< SelectionStep< pat::Muon > > muonStep_
edm::InputTag beamspot_
beamspot
double btagEffWP_
btag working points
edm::EDGetTokenT< reco::BeamSpot > beamspot__
std::string muonIso_
extra isolation criterion on muon
std::vector< edm::ParameterSet > sel
edm::EDGetTokenT< reco::JetTagCollection > btagEff_
btag discriminator labels
std::vector< std::unique_ptr< SelectionStep< pat::Jet > > > jetSteps_
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
std::vector< std::string > triggerPaths_
trigger paths
edm::EDGetTokenT< reco::JetTagCollection > btagPur_
edm::InputTag vertex_
primary vertex
std::unique_ptr< StringCutObjectSelector< pat::Muon, true > > muonSelect
void book(DQMStore::IBooker &ibooker)
book histograms in subdirectory directory
std::string elecSelect_
extra selection on electrons
~MonitorEnsemble()
default destructor
void fill(const std::string histName, double value) const
fill histogram if it had been booked before
std::string muonSelect_
extra selection on muons
edm::EDGetTokenT< reco::Vertex > vertex__
std::unique_ptr< StringCutObjectSelector< pat::Jet > > jetSelectJet
std::unique_ptr< StringCutObjectSelector< reco::Vertex > > vertexSelect_
string cut selector
std::unique_ptr< StringCutObjectSelector< pat::Electron, true > > elecIso
std::unique_ptr< StringCutObjectSelector< reco::BeamSpot > > beamspotSelect_
string cut selector
std::string label_
instance label
void fill(const std::string histName, double xValue, double yValue) const
fill histogram if it had been booked before (2-dim version)
bool booked(const std::string histName) const
check if histogram was booked
std::vector< edm::EDGetTokenT< edm::View< pat::MET > > > mets_
considers a vector of METs
void fill(const std::string histName, double xValue, double yValue, double zValue) const
fill histogram if it had been booked before (2-dim version)
edm::EDGetTokenT< edm::TriggerResults > triggerTable__
trigger table
edm::EDGetTokenT< reco::JetTagCollection > btagVtx_
std::unique_ptr< SelectionStep< reco::Vertex > > pvStep_
std::unique_ptr< StringCutObjectSelector< reco::PFJet > > jetSelectPF
edm::EDConsumerBase tmpConsumerBase
std::string elecIso_
extra isolation criterion on electron
edm::EDGetTokenT< reco::JetTagCollection > btagCombVtx_