CMS 3D CMS Logo

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

#include <L1TTauOffline.h>

Inheritance diagram for L1TTauOffline:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

enum  PlotConfig { nVertex, ETvsET, PHIvsPHI }
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Public Member Functions

 L1TTauOffline (const edm::ParameterSet &ps)
 
 ~L1TTauOffline () 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
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Attributes

static const std::map
< std::string, unsigned int > 
PlotConfigNames
 

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 (const edm::Run &run, const edm::EventSetup &iSetup) override
 
const reco::Vertex getPrimaryVertex (edm::Handle< reco::VertexCollection > const &vertex, edm::Handle< reco::BeamSpot > const &beamSpot)
 
void getProbeTaus (const edm::Event &e, edm::Handle< reco::PFTauCollection > const &taus, edm::Handle< reco::MuonCollection > const &muons, const reco::Vertex &vertex)
 
void getTauL1tPairs (edm::Handle< l1t::TauBxCollection > const &l1tCands)
 
void getTightMuons (edm::Handle< reco::MuonCollection > const &muons, edm::Handle< reco::PFMETCollection > const &mets, const reco::Vertex &vertex, edm::Handle< trigger::TriggerEvent > const &trigEvent)
 
bool matchHlt (edm::Handle< trigger::TriggerEvent > const &triggerEvent, const reco::Muon *muon)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

void bookTauHistos (DQMStore::IBooker &)
 
double calcDeltaPhi (double phi1, double phi2)
 
double Distance (const reco::Candidate &c1, const reco::Candidate &c2)
 
double DistancePhi (const reco::Candidate &c1, const reco::Candidate &c2)
 
void normalise2DHistogramsToBinArea ()
 

Private Attributes

edm::EDGetTokenT
< reco::TauDiscriminatorContainer
AntiEleInputTag_
 
std::string AntiEleWP_
 
int AntiEleWPIndex_
 
edm::EDGetTokenT
< reco::TauDiscriminatorContainer
AntiMuInputTag_
 
std::string AntiMuWP_
 
int AntiMuWPIndex_
 
edm::EDGetTokenT< reco::BeamSpotBsInputTag_
 
edm::EDGetTokenT
< reco::TauDiscriminatorContainer
comb3TInputTag_
 
std::string comb3TWP_
 
int comb3TWPIndex_
 
edm::EDGetTokenT
< reco::PFTauDiscriminator
DecayModeFindingInputTag_
 
std::string efficiencyFolder_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EB_EE_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EB_EE_total_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EB_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EB_total_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EE_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyIsoTauET_EE_total_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EB_EE_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EB_EE_total_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EB_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EB_total_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EE_pass_
 
std::map< double,
MonitorElement * > 
h_efficiencyNonIsoTauET_EE_total_
 
MonitorElementh_L1TauEtavsTauEta_
 
MonitorElementh_L1TauETvsTauET_EB_
 
MonitorElementh_L1TauETvsTauET_EB_EE_
 
MonitorElementh_L1TauETvsTauET_EE_
 
MonitorElementh_L1TauPhivsTauPhi_EB_
 
MonitorElementh_L1TauPhivsTauPhi_EB_EE_
 
MonitorElementh_L1TauPhivsTauPhi_EE_
 
MonitorElementh_nVertex_
 
MonitorElementh_resolutionTauET_EB_
 
MonitorElementh_resolutionTauET_EB_EE_
 
MonitorElementh_resolutionTauET_EE_
 
MonitorElementh_resolutionTauEta_
 
MonitorElementh_resolutionTauPhi_EB_
 
MonitorElementh_resolutionTauPhi_EB_EE_
 
MonitorElementh_resolutionTauPhi_EE_
 
MonitorElementh_tagAndProbeMass_
 
dqmoffline::l1t::HistDefinitions histDefinitions_
 
std::string histFolder_
 
edm::ESHandle< MagneticFieldm_BField
 
HLTConfigProvider m_hltConfig
 
BXVector< l1t::Taum_L1tL1tTaus
 
std::vector< int > m_L1tPtCuts
 
std::vector< l1t::TauBxCollectionm_L1tTaus
 
float m_MaxHltTauDR
 
float m_MaxL1tTauDR
 
float m_MaxTauEta
 
std::vector< const reco::PFTau * > m_ProbeTaus
 
edm::ESHandle< Propagatorm_propagatorAlong
 
edm::ESHandle< Propagatorm_propagatorOpposite
 
std::vector< reco::PFTaum_RecoRecoTaus
 
std::vector
< reco::PFTauCollection
m_RecoTaus
 
std::vector< TauL1TPairm_TauL1tPairs
 
std::vector< const reco::Muon * > m_TightMuons
 
std::vector< int > m_trigIndices
 
edm::EDGetTokenT
< reco::PFMETCollection
MetInputTag_
 
edm::ESGetToken< MagneticField,
IdealMagneticFieldRecord
mFieldToken_
 
edm::EDGetTokenT
< reco::MuonCollection
MuonInputTag_
 
edm::ProcessHistoryID phID_
 
math::XYZPoint PVPoint_
 
edm::EDGetTokenT
< l1t::TauBxCollection
stage2CaloLayer2TauToken_
 
std::vector< double > tauEfficiencyBins_
 
std::vector< int > tauEfficiencyThresholds_
 
edm::EDGetTokenT
< reco::PFTauCollection
theTauCollection_
 
edm::EDGetTokenT
< trigger::TriggerEvent
triggerEvent_
 
std::vector< std::string > triggerPath_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResults_
 
std::string trigProcess_
 
edm::EDGetTokenT
< reco::VertexCollection
VtxInputTag_
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 80 of file L1TTauOffline.h.

Member Enumeration Documentation

Enumerator
nVertex 
ETvsET 
PHIvsPHI 

Definition at line 85 of file L1TTauOffline.h.

Constructor & Destructor Documentation

L1TTauOffline::L1TTauOffline ( const edm::ParameterSet ps)

Definition at line 45 of file L1TTauOffline.cc.

References DeDxTools::esConsumes(), and mFieldToken_.

46  : theTauCollection_(consumes<reco::PFTauCollection>(ps.getUntrackedParameter<edm::InputTag>("tauInputTag"))),
48  consumes<reco::TauDiscriminatorContainer>(ps.getUntrackedParameter<edm::InputTag>("antiMuInputTag"))),
51  consumes<reco::TauDiscriminatorContainer>(ps.getUntrackedParameter<edm::InputTag>("antiEleInputTag"))),
54  consumes<reco::PFTauDiscriminator>(ps.getUntrackedParameter<edm::InputTag>("decayModeFindingInputTag"))),
56  consumes<reco::TauDiscriminatorContainer>(ps.getUntrackedParameter<edm::InputTag>("comb3TInputTag"))),
58  MuonInputTag_(consumes<reco::MuonCollection>(ps.getUntrackedParameter<edm::InputTag>("muonInputTag"))),
59  MetInputTag_(consumes<reco::PFMETCollection>(ps.getUntrackedParameter<edm::InputTag>("metInputTag"))),
60  VtxInputTag_(consumes<reco::VertexCollection>(ps.getUntrackedParameter<edm::InputTag>("vtxInputTag"))),
61  BsInputTag_(consumes<reco::BeamSpot>(ps.getUntrackedParameter<edm::InputTag>("bsInputTag"))),
62  triggerEvent_(consumes<trigger::TriggerEvent>(ps.getUntrackedParameter<edm::InputTag>("trigInputTag"))),
63  trigProcess_(ps.getUntrackedParameter<string>("trigProcess")),
64  triggerResults_(consumes<edm::TriggerResults>(ps.getUntrackedParameter<edm::InputTag>("trigProcess_token"))),
65  triggerPath_(ps.getUntrackedParameter<vector<std::string>>("triggerNames")),
66  histFolder_(ps.getParameter<std::string>("histFolder")),
67  efficiencyFolder_(histFolder_ + "/efficiency_raw"),
68  stage2CaloLayer2TauToken_(consumes<l1t::TauBxCollection>(ps.getUntrackedParameter<edm::InputTag>("l1tInputTag"))),
69  tauEfficiencyThresholds_(ps.getParameter<std::vector<int>>("tauEfficiencyThresholds")),
70  tauEfficiencyBins_(ps.getParameter<std::vector<double>>("tauEfficiencyBins")),
72  m_TightMuons(),
73  m_ProbeTaus(),
74  m_TauL1tPairs(),
75  m_RecoTaus(),
76  m_L1tTaus(),
78  m_L1tL1tTaus(),
79  m_L1tPtCuts(),
80  m_MaxTauEta(99999),
81  m_MaxL1tTauDR(99999),
82  m_MaxHltTauDR(99999),
83  m_trigIndices(),
84  h_nVertex_(),
112  edm::LogInfo("L1TTauOffline") << "Constructor "
113  << "L1TTauOffline::L1TTauOffline " << std::endl;
115 }
edm::EDGetTokenT< reco::VertexCollection > VtxInputTag_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > triggerPath_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > mFieldToken_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_pass_
std::vector< int > m_trigIndices
std::vector< l1t::TauBxCollection > m_L1tTaus
std::vector< TauL1TPair > m_TauL1tPairs
MonitorElement * h_L1TauPhivsTauPhi_EB_
static const std::map< std::string, unsigned int > PlotConfigNames
Definition: L1TTauOffline.h:87
std::vector< double > tauEfficiencyBins_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_pass_
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiMuInputTag_
MonitorElement * h_nVertex_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_pass_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_total_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_pass_
std::string efficiencyFolder_
std::string AntiEleWP_
std::vector< int > m_L1tPtCuts
std::string histFolder_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_total_
MonitorElement * h_resolutionTauPhi_EB_
MonitorElement * h_L1TauPhivsTauPhi_EE_
std::vector< int > tauEfficiencyThresholds_
std::vector< const reco::PFTau * > m_ProbeTaus
MonitorElement * h_resolutionTauPhi_EB_EE_
edm::EDGetTokenT< reco::TauDiscriminatorContainer > comb3TInputTag_
std::string comb3TWP_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_total_
MonitorElement * h_resolutionTauPhi_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_pass_
MonitorElement * h_L1TauEtavsTauEta_
edm::EDGetTokenT< l1t::TauBxCollection > stage2CaloLayer2TauToken_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_total_
MonitorElement * h_resolutionTauEta_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_total_
edm::EDGetTokenT< reco::BeamSpot > BsInputTag_
edm::EDGetTokenT< reco::PFMETCollection > MetInputTag_
MonitorElement * h_resolutionTauET_EB_EE_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiEleInputTag_
Log< level::Info, false > LogInfo
HistDefinitions readHistDefinitions(const edm::ParameterSet &ps, const std::map< std::string, unsigned int > &mapping)
std::vector< const reco::Muon * > m_TightMuons
MonitorElement * h_resolutionTauET_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_total_
edm::EDGetTokenT< reco::MuonCollection > MuonInputTag_
std::string trigProcess_
edm::EDGetTokenT< reco::PFTauDiscriminator > DecayModeFindingInputTag_
ParameterSet const & getParameterSet(std::string const &) const
MonitorElement * h_tagAndProbeMass_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
BXVector< l1t::Tau > m_L1tL1tTaus
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
dqmoffline::l1t::HistDefinitions histDefinitions_
edm::EDGetTokenT< reco::PFTauCollection > theTauCollection_
MonitorElement * h_L1TauETvsTauET_EB_EE_
std::string AntiMuWP_
MonitorElement * h_L1TauETvsTauET_EE_
MonitorElement * h_L1TauPhivsTauPhi_EB_EE_
MonitorElement * h_resolutionTauET_EB_
std::vector< reco::PFTauCollection > m_RecoTaus
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
MonitorElement * h_L1TauETvsTauET_EB_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_pass_
std::vector< reco::PFTau > m_RecoRecoTaus
L1TTauOffline::~L1TTauOffline ( )
override

Definition at line 120 of file L1TTauOffline.cc.

120  {
121  edm::LogInfo("L1TTauOffline") << "Destructor L1TTauOffline::~L1TTauOffline " << std::endl;
122 }
Log< level::Info, false > LogInfo

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 171 of file L1TTauOffline.cc.

References beam_dqm_sourceclient-live_cfg::beamSpot, BsInputTag_, counter, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), edm::EventSetup::getHandle(), getPrimaryVertex(), getProbeTaus(), getTauL1tPairs(), getTightMuons(), h_efficiencyIsoTauET_EB_EE_pass_, h_efficiencyIsoTauET_EB_EE_total_, h_efficiencyIsoTauET_EB_pass_, h_efficiencyIsoTauET_EB_total_, h_efficiencyIsoTauET_EE_pass_, h_efficiencyIsoTauET_EE_total_, h_efficiencyNonIsoTauET_EB_EE_pass_, h_efficiencyNonIsoTauET_EB_EE_total_, h_efficiencyNonIsoTauET_EB_pass_, h_efficiencyNonIsoTauET_EB_total_, h_efficiencyNonIsoTauET_EE_pass_, h_efficiencyNonIsoTauET_EE_total_, h_L1TauEtavsTauEta_, h_L1TauETvsTauET_EB_, h_L1TauETvsTauET_EB_EE_, h_L1TauETvsTauET_EE_, h_L1TauPhivsTauPhi_EB_, h_L1TauPhivsTauPhi_EB_EE_, h_L1TauPhivsTauPhi_EE_, h_resolutionTauET_EB_, h_resolutionTauET_EB_EE_, h_resolutionTauET_EE_, h_resolutionTauEta_, h_resolutionTauPhi_EB_, h_resolutionTauPhi_EB_EE_, h_resolutionTauPhi_EE_, edm::HandleBase::isValid(), m_BField, m_MaxHltTauDR, m_MaxL1tTauDR, m_MaxTauEta, m_TauL1tPairs, MetInputTag_, mFieldToken_, MuonInputTag_, patZpeak::muons, phi, beam_dqm_sourceclient-live_cfg::primaryVertex, DiDispStaMuonMonitor_cfi::pt, stage2CaloLayer2TauToken_, AlCaHLTBitMon_QueryRunRegistry::string, metsig::tau, tauEfficiencyThresholds_, runTauDisplay::taus, theTauCollection_, dtDQMClient_cfg::threshold, triggerEvent_, triggerResults_, and VtxInputTag_.

171  {
172  m_MaxTauEta = 2.1;
173  m_MaxL1tTauDR = 0.5;
174  m_MaxHltTauDR = 0.5;
175 
177  e.getByToken(theTauCollection_, taus);
178 
179  if (!taus.isValid()) {
180  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauCollection " << std::endl;
181  return;
182  }
183 
185  e.getByToken(MuonInputTag_, muons);
186 
187  if (!muons.isValid()) {
188  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::MuonCollection " << std::endl;
189  return;
190  }
191 
193  e.getByToken(BsInputTag_, beamSpot);
194 
195  if (!beamSpot.isValid()) {
196  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::BeamSpot " << std::endl;
197  return;
198  }
199 
201  e.getByToken(VtxInputTag_, vertex);
202 
203  if (!vertex.isValid()) {
204  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::VertexCollection " << std::endl;
205  return;
206  }
207 
209  e.getByToken(stage2CaloLayer2TauToken_, l1tCands);
210 
211  if (!l1tCands.isValid()) {
212  edm::LogWarning("L1TTauOffline") << "invalid collection: l1t::TauBxCollection " << std::endl;
213  return;
214  }
215 
217  e.getByToken(triggerResults_, trigResults);
218 
219  if (!trigResults.isValid()) {
220  edm::LogWarning("L1TTauOffline") << "invalid collection: edm::TriggerResults " << std::endl;
221  return;
222  }
223 
225  e.getByToken(triggerEvent_, trigEvent);
226 
227  if (!trigEvent.isValid()) {
228  edm::LogWarning("L1TTauOffline") << "invalid collection: trigger::TriggerEvent " << std::endl;
229  return;
230  }
231 
233  e.getByToken(MetInputTag_, mets);
234 
235  if (!mets.isValid()) {
236  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFMETCollection " << std::endl;
237  return;
238  }
239 
240  m_BField = eSetup.getHandle(mFieldToken_);
241 
242  const reco::Vertex primaryVertex = getPrimaryVertex(vertex, beamSpot);
243 
244  getTightMuons(muons, mets, primaryVertex, trigEvent);
245  getProbeTaus(e, taus, muons, primaryVertex);
246  getTauL1tPairs(l1tCands);
247 
248  vector<l1t::Tau> l1tContainer;
249  l1tContainer.reserve(l1tCands->size() + 1);
250 
251  for (auto tau = l1tCands->begin(0); tau != l1tCands->end(0); ++tau) {
252  l1tContainer.push_back(*tau);
253  }
254 
255  for (auto tauL1tPairsIt = m_TauL1tPairs.begin(); tauL1tPairsIt != m_TauL1tPairs.end(); ++tauL1tPairsIt) {
256  float eta = tauL1tPairsIt->eta();
257  float phi = tauL1tPairsIt->phi();
258  float pt = tauL1tPairsIt->pt();
259 
260  // unmatched gmt cands have l1tPt = -1.
261  float l1tPt = tauL1tPairsIt->l1tPt();
262 
263  int counter = 0;
264 
265  for (auto threshold : tauEfficiencyThresholds_) {
266  std::string str_threshold = std::to_string(threshold);
267 
268  int l1tPtCut = threshold;
269  bool l1tAboveCut = (l1tPt >= l1tPtCut);
270 
271  stringstream ptCutToTag;
272  ptCutToTag << l1tPtCut;
273  string ptTag = ptCutToTag.str();
274 
275  if (fabs(eta) < m_MaxTauEta) {
276  if (counter == 0) {
277  if (fabs(eta) < 1.5) {
278  h_L1TauETvsTauET_EB_->Fill(pt, l1tPt);
279  h_L1TauPhivsTauPhi_EB_->Fill(phi, tauL1tPairsIt->l1tPhi());
280  h_resolutionTauET_EB_->Fill((l1tPt - pt) / pt);
281  h_resolutionTauPhi_EB_->Fill(tauL1tPairsIt->l1tPhi() - phi);
282  } else {
283  h_L1TauETvsTauET_EE_->Fill(pt, l1tPt);
284  h_L1TauPhivsTauPhi_EE_->Fill(phi, tauL1tPairsIt->l1tPhi());
285  h_resolutionTauET_EE_->Fill((l1tPt - pt) / pt);
286  h_resolutionTauPhi_EE_->Fill(tauL1tPairsIt->l1tPhi() - phi);
287  }
288  h_L1TauETvsTauET_EB_EE_->Fill(pt, l1tPt);
289  h_L1TauPhivsTauPhi_EB_EE_->Fill(phi, tauL1tPairsIt->l1tPhi());
290  h_L1TauEtavsTauEta_->Fill(eta, tauL1tPairsIt->l1tEta());
291  h_resolutionTauET_EB_EE_->Fill((l1tPt - pt) / pt);
292  h_resolutionTauPhi_EB_EE_->Fill(tauL1tPairsIt->l1tPhi() - phi);
293  h_resolutionTauEta_->Fill(tauL1tPairsIt->l1tEta() - eta);
294 
295  ++counter;
296  }
297 
298  if (fabs(eta) < 1.5) {
301  } else {
304  }
307 
308  if (l1tAboveCut) {
309  if (fabs(eta) < 1.5)
311  else
314 
315  if (tauL1tPairsIt->l1tIso() > 0.5) {
316  if (fabs(eta) < 1.5)
318  else
321  }
322  }
323  }
324  }
325  } // loop over tau-L1 pairs
326 }
edm::EDGetTokenT< reco::VertexCollection > VtxInputTag_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > mFieldToken_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_pass_
std::vector< TauL1TPair > m_TauL1tPairs
MonitorElement * h_L1TauPhivsTauPhi_EB_
edm::ESHandle< MagneticField > m_BField
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_pass_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_pass_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_total_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_pass_
void getProbeTaus(const edm::Event &e, edm::Handle< reco::PFTauCollection > const &taus, edm::Handle< reco::MuonCollection > const &muons, const reco::Vertex &vertex)
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_total_
MonitorElement * h_resolutionTauPhi_EB_
MonitorElement * h_L1TauPhivsTauPhi_EE_
void Fill(long long x)
std::vector< int > tauEfficiencyThresholds_
MonitorElement * h_resolutionTauPhi_EB_EE_
const reco::Vertex getPrimaryVertex(edm::Handle< reco::VertexCollection > const &vertex, edm::Handle< reco::BeamSpot > const &beamSpot)
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_total_
MonitorElement * h_resolutionTauPhi_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_pass_
MonitorElement * h_L1TauEtavsTauEta_
edm::EDGetTokenT< l1t::TauBxCollection > stage2CaloLayer2TauToken_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_total_
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * h_resolutionTauEta_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_total_
edm::EDGetTokenT< reco::BeamSpot > BsInputTag_
edm::EDGetTokenT< reco::PFMETCollection > MetInputTag_
MonitorElement * h_resolutionTauET_EB_EE_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * h_resolutionTauET_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_total_
edm::EDGetTokenT< reco::MuonCollection > MuonInputTag_
void getTauL1tPairs(edm::Handle< l1t::TauBxCollection > const &l1tCands)
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
tuple muons
Definition: patZpeak.py:39
static std::atomic< unsigned int > counter
edm::EDGetTokenT< reco::PFTauCollection > theTauCollection_
MonitorElement * h_L1TauETvsTauET_EB_EE_
MonitorElement * h_L1TauETvsTauET_EE_
Log< level::Warning, false > LogWarning
MonitorElement * h_L1TauPhivsTauPhi_EB_EE_
void getTightMuons(edm::Handle< reco::MuonCollection > const &muons, edm::Handle< reco::PFMETCollection > const &mets, const reco::Vertex &vertex, edm::Handle< trigger::TriggerEvent > const &trigEvent)
MonitorElement * h_resolutionTauET_EB_
MonitorElement * h_L1TauETvsTauET_EB_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_pass_
void L1TTauOffline::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 139 of file L1TTauOffline.cc.

References bookTauHistos(), newFWLiteAna::found, m_hltConfig, m_trigIndices, HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::triggerName(), and triggerPath_.

139  {
140  edm::LogInfo("L1TTauOffline") << "L1TTauOffline::bookHistograms" << std::endl;
141 
142  // book at beginRun
143  bookTauHistos(ibooker);
144 
145  for (auto trigNamesIt = triggerPath_.begin(); trigNamesIt != triggerPath_.end(); trigNamesIt++) {
146  std::string tNameTmp = (*trigNamesIt);
147  std::string tNamePattern = "";
148  std::size_t found0 = tNameTmp.find('*');
149  if (found0 != std::string::npos)
150  tNamePattern = tNameTmp.substr(0, tNameTmp.size() - 1);
151  else
152  tNamePattern = tNameTmp;
153 
154  int tIndex = -1;
155 
156  for (unsigned ipath = 0; ipath < m_hltConfig.size(); ++ipath) {
157  std::string tmpName = m_hltConfig.triggerName(ipath);
158 
159  std::size_t found = tmpName.find(tNamePattern);
160  if (found != std::string::npos) {
161  tIndex = int(ipath);
162  m_trigIndices.push_back(tIndex);
163  }
164  }
165  }
166 }
unsigned int size() const
number of trigger paths in trigger table
std::vector< std::string > triggerPath_
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< int > m_trigIndices
void bookTauHistos(DQMStore::IBooker &)
HLTConfigProvider m_hltConfig
Log< level::Info, false > LogInfo
void L1TTauOffline::bookTauHistos ( DQMStore::IBooker ibooker)
private

Definition at line 334 of file L1TTauOffline.cc.

References dqmoffline::l1t::HistDefinition::binsX, dqmoffline::l1t::HistDefinition::binsY, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), efficiencyFolder_, h_efficiencyIsoTauET_EB_EE_pass_, h_efficiencyIsoTauET_EB_EE_total_, h_efficiencyIsoTauET_EB_pass_, h_efficiencyIsoTauET_EB_total_, h_efficiencyIsoTauET_EE_pass_, h_efficiencyIsoTauET_EE_total_, h_efficiencyNonIsoTauET_EB_EE_pass_, h_efficiencyNonIsoTauET_EB_EE_total_, h_efficiencyNonIsoTauET_EB_pass_, h_efficiencyNonIsoTauET_EB_total_, h_efficiencyNonIsoTauET_EE_pass_, h_efficiencyNonIsoTauET_EE_total_, h_L1TauEtavsTauEta_, h_L1TauETvsTauET_EB_, h_L1TauETvsTauET_EB_EE_, h_L1TauETvsTauET_EE_, h_L1TauPhivsTauPhi_EB_, h_L1TauPhivsTauPhi_EB_EE_, h_L1TauPhivsTauPhi_EE_, h_nVertex_, h_resolutionTauET_EB_, h_resolutionTauET_EB_EE_, h_resolutionTauET_EE_, h_resolutionTauEta_, h_resolutionTauPhi_EB_, h_resolutionTauPhi_EB_EE_, h_resolutionTauPhi_EE_, h_tagAndProbeMass_, histDefinitions_, histFolder_, dqmoffline::l1t::HistDefinition::name, dqmoffline::l1t::HistDefinition::nbinsX, dqmoffline::l1t::HistDefinition::nbinsY, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tauEfficiencyBins_, tauEfficiencyThresholds_, dtDQMClient_cfg::threshold, dqmoffline::l1t::HistDefinition::title, dqmoffline::l1t::HistDefinition::xmax, dqmoffline::l1t::HistDefinition::xmin, dqmoffline::l1t::HistDefinition::ymax, and dqmoffline::l1t::HistDefinition::ymin.

Referenced by bookHistograms().

334  {
335  ibooker.cd();
336  ibooker.setCurrentFolder(histFolder_);
337  dqmoffline::l1t::HistDefinition nVertexDef = histDefinitions_[PlotConfig::nVertex];
338  h_nVertex_ = ibooker.book1D(nVertexDef.name, nVertexDef.title, nVertexDef.nbinsX, nVertexDef.xmin, nVertexDef.xmax);
339  h_tagAndProbeMass_ = ibooker.book1D("tagAndProbeMass", "Invariant mass of tag & probe pair", 100, 40, 140);
340 
341  dqmoffline::l1t::HistDefinition templateETvsET = histDefinitions_[PlotConfig::ETvsET];
342  h_L1TauETvsTauET_EB_ = ibooker.book2D("L1TauETvsTauET_EB",
343  "L1 Tau E_{T} vs PFTau E_{T} (EB); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
344  templateETvsET.nbinsX,
345  &templateETvsET.binsX[0],
346  templateETvsET.nbinsY,
347  &templateETvsET.binsY[0]);
348  h_L1TauETvsTauET_EE_ = ibooker.book2D("L1TauETvsTauET_EE",
349  "L1 Tau E_{T} vs PFTau E_{T} (EE); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
350  templateETvsET.nbinsX,
351  &templateETvsET.binsX[0],
352  templateETvsET.nbinsY,
353  &templateETvsET.binsY[0]);
354  h_L1TauETvsTauET_EB_EE_ = ibooker.book2D("L1TauETvsTauET_EB_EE",
355  "L1 Tau E_{T} vs PFTau E_{T} (EB+EE); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
356  templateETvsET.nbinsX,
357  &templateETvsET.binsX[0],
358  templateETvsET.nbinsY,
359  &templateETvsET.binsY[0]);
360 
361  dqmoffline::l1t::HistDefinition templatePHIvsPHI = histDefinitions_[PlotConfig::PHIvsPHI];
363  ibooker.book2D("L1TauPhivsTauPhi_EB",
364  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EB); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
365  templatePHIvsPHI.nbinsX,
366  templatePHIvsPHI.xmin,
367  templatePHIvsPHI.xmax,
368  templatePHIvsPHI.nbinsY,
369  templatePHIvsPHI.ymin,
370  templatePHIvsPHI.ymax);
372  ibooker.book2D("L1TauPhivsTauPhi_EE",
373  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EE); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
374  templatePHIvsPHI.nbinsX,
375  templatePHIvsPHI.xmin,
376  templatePHIvsPHI.xmax,
377  templatePHIvsPHI.nbinsY,
378  templatePHIvsPHI.ymin,
379  templatePHIvsPHI.ymax);
381  ibooker.book2D("L1TauPhivsTauPhi_EB_EE",
382  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EB+EE); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
383  templatePHIvsPHI.nbinsX,
384  templatePHIvsPHI.xmin,
385  templatePHIvsPHI.xmax,
386  templatePHIvsPHI.nbinsY,
387  templatePHIvsPHI.ymin,
388  templatePHIvsPHI.ymax);
389 
391  ibooker.book2D("L1TauEtavsTauEta", "L1 Tau #eta vs PFTau #eta; PFTau #eta; L1 Tau #eta", 100, -3, 3, 100, -3, 3);
392 
393  // tau resolutions
394  h_resolutionTauET_EB_ = ibooker.book1D(
395  "resolutionTauET_EB", "tau ET resolution (EB); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events", 50, -1, 1.5);
396  h_resolutionTauET_EE_ = ibooker.book1D(
397  "resolutionTauET_EE", "tau ET resolution (EE); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events", 50, -1, 1.5);
399  ibooker.book1D("resolutionTauET_EB_EE",
400  "tau ET resolution (EB+EE); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events",
401  50,
402  -1,
403  1.5);
404 
405  h_resolutionTauPhi_EB_ = ibooker.book1D("resolutionTauPhi_EB",
406  "#phi_{tau} resolution (EB); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events",
407  120,
408  -0.3,
409  0.3);
410  h_resolutionTauPhi_EE_ = ibooker.book1D(
411  "resolutionTauPhi_EE", "tau #phi resolution (EE); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events", 120, -0.3, 0.3);
413  ibooker.book1D("resolutionTauPhi_EB_EE",
414  "tau #phi resolution (EB+EE); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events",
415  120,
416  -0.3,
417  0.3);
418 
420  ibooker.book1D("resolutionTauEta", "tau #eta resolution (EB); L1 Tau #eta - PFTau #eta; events", 120, -0.3, 0.3);
421 
422  // tau turn-ons
424  std::vector<float> tauBins(tauEfficiencyBins_.begin(), tauEfficiencyBins_.end());
425  int nBins = tauBins.size() - 1;
426  float* tauBinArray = &(tauBins[0]);
427 
428  for (auto threshold : tauEfficiencyThresholds_) {
429  std::string str_threshold = std::to_string(int(threshold));
431  ibooker.book1D("efficiencyIsoTauET_EB_threshold_" + str_threshold + "_Num",
432  "iso tau efficiency (EB); PFTau E_{T} (GeV); events",
433  nBins,
434  tauBinArray);
436  ibooker.book1D("efficiencyIsoTauET_EE_threshold_" + str_threshold + "_Num",
437  "iso tau efficiency (EE); PFTau E_{T} (GeV); events",
438  nBins,
439  tauBinArray);
441  ibooker.book1D("efficiencyIsoTauET_EB_EE_threshold_" + str_threshold + "_Num",
442  "iso tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
443  nBins,
444  tauBinArray);
445 
447  ibooker.book1D("efficiencyIsoTauET_EB_threshold_" + str_threshold + "_Den",
448  "iso tau efficiency (EB); PFTau E_{T} (GeV); events",
449  nBins,
450  tauBinArray);
452  ibooker.book1D("efficiencyIsoTauET_EE_threshold_" + str_threshold + "_Den",
453  "iso tau efficiency (EE); PFTau E_{T} (GeV); events",
454  nBins,
455  tauBinArray);
457  ibooker.book1D("efficiencyIsoTauET_EB_EE_threshold_" + str_threshold + "_Den",
458  "iso tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
459  nBins,
460  tauBinArray);
461 
462  // non iso
464  ibooker.book1D("efficiencyNonIsoTauET_EB_threshold_" + str_threshold + "_Num",
465  "inclusive tau efficiency (EB); PFTau E_{T} (GeV); events",
466  nBins,
467  tauBinArray);
469  ibooker.book1D("efficiencyNonIsoTauET_EE_threshold_" + str_threshold + "_Num",
470  "inclusive tau efficiency (EE); PFTau E_{T} (GeV); events",
471  nBins,
472  tauBinArray);
474  ibooker.book1D("efficiencyNonIsoTauET_EB_EE_threshold_" + str_threshold + "_Num",
475  "inclusive tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
476  nBins,
477  tauBinArray);
478 
480  ibooker.book1D("efficiencyNonIsoTauET_EB_threshold_" + str_threshold + "_Den",
481  "inclusive tau efficiency (EB); PFTau E_{T} (GeV); events",
482  nBins,
483  tauBinArray);
485  ibooker.book1D("efficiencyNonIsoTauET_EE_threshold_" + str_threshold + "_Den",
486  "inclusive tau efficiency (EE); PFTau E_{T} (GeV); events",
487  nBins,
488  tauBinArray);
490  ibooker.book1D("efficiencyNonIsoTauET_EB_EE_threshold_" + str_threshold + "_Den",
491  "inclusive tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
492  nBins,
493  tauBinArray);
494  }
495 
496  ibooker.cd();
497 
498  return;
499 }
std::vector< float > binsX
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_pass_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MonitorElement * h_L1TauPhivsTauPhi_EB_
std::vector< double > tauEfficiencyBins_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_pass_
MonitorElement * h_nVertex_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_pass_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_total_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_pass_
std::string efficiencyFolder_
std::string histFolder_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_total_
MonitorElement * h_resolutionTauPhi_EB_
MonitorElement * h_L1TauPhivsTauPhi_EE_
std::vector< int > tauEfficiencyThresholds_
MonitorElement * h_resolutionTauPhi_EB_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_total_
MonitorElement * h_resolutionTauPhi_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_pass_
MonitorElement * h_L1TauEtavsTauEta_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_EE_total_
MonitorElement * h_resolutionTauEta_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_total_
MonitorElement * h_resolutionTauET_EB_EE_
MonitorElement * h_resolutionTauET_EE_
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EE_total_
std::vector< float > binsY
MonitorElement * h_tagAndProbeMass_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
dqmoffline::l1t::HistDefinitions histDefinitions_
MonitorElement * h_L1TauETvsTauET_EB_EE_
MonitorElement * h_L1TauETvsTauET_EE_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * h_L1TauPhivsTauPhi_EB_EE_
MonitorElement * h_resolutionTauET_EB_
MonitorElement * h_L1TauETvsTauET_EB_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_pass_
double L1TTauOffline::calcDeltaPhi ( double  phi1,
double  phi2 
)
private
double L1TTauOffline::Distance ( const reco::Candidate c1,
const reco::Candidate c2 
)
private
double L1TTauOffline::DistancePhi ( const reco::Candidate c1,
const reco::Candidate c2 
)
private
void L1TTauOffline::dqmBeginRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 127 of file L1TTauOffline.cc.

References HLTConfigProvider::init(), m_hltConfig, and trigProcess_.

129 {
130  bool changed = true;
131  m_hltConfig.init(run, iSetup, trigProcess_, changed);
132 
133  edm::LogInfo("L1TTauOffline") << "L1TTauOffline::beginRun" << std::endl;
134 }
HLTConfigProvider m_hltConfig
Log< level::Info, false > LogInfo
std::string trigProcess_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
const reco::Vertex L1TTauOffline::getPrimaryVertex ( edm::Handle< reco::VertexCollection > const &  vertex,
edm::Handle< reco::BeamSpot > const &  beamSpot 
)
protected

Definition at line 501 of file L1TTauOffline.cc.

References edm::HandleBase::isValid(), reco::Vertex::position(), and beam_dqm_sourceclient-live_cfg::primaryVertex.

Referenced by analyze().

502  {
503  reco::Vertex::Point posVtx;
504  reco::Vertex::Error errVtx;
505 
506  bool hasPrimaryVertex = false;
507 
508  if (vertex.isValid()) {
509  for (auto vertexIt = vertex->begin(); vertexIt != vertex->end(); ++vertexIt) {
510  if (vertexIt->isValid() && !vertexIt->isFake()) {
511  posVtx = vertexIt->position();
512  errVtx = vertexIt->error();
513  hasPrimaryVertex = true;
514  break;
515  }
516  }
517  }
518 
519  if (!hasPrimaryVertex) {
520  posVtx = beamSpot->position();
521  errVtx(0, 0) = beamSpot->BeamWidthX();
522  errVtx(1, 1) = beamSpot->BeamWidthY();
523  errVtx(2, 2) = beamSpot->sigmaZ();
524  }
525 
526  const reco::Vertex primaryVertex(posVtx, errVtx);
527 
528  return primaryVertex;
529 }
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:44
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
bool isValid() const
Definition: HandleBase.h:70
void L1TTauOffline::getProbeTaus ( const edm::Event e,
edm::Handle< reco::PFTauCollection > const &  taus,
edm::Handle< reco::MuonCollection > const &  muons,
const reco::Vertex vertex 
)
protected

Definition at line 628 of file L1TTauOffline.cc.

References AntiEleInputTag_, AntiEleWP_, AntiEleWPIndex_, AntiMuInputTag_, AntiMuWP_, AntiMuWPIndex_, comb3TInputTag_, comb3TWP_, comb3TWPIndex_, DecayModeFindingInputTag_, relval_parameters_module::energy, PVValHelper::eta, edm::Event::getByToken(), mps_fire::i, edm::HandleBase::isValid(), m_ProbeTaus, m_TightMuons, edm::parameterSet(), phi, phID_, edm::Event::processHistory(), edm::Event::processHistoryID(), edm::HandleBase::provenance(), DiDispStaMuonMonitor_cfi::pt, edm::Provenance::stable(), parallelization::uint(), and MuTauSkim_cff::workingPoints.

Referenced by analyze().

631  {
632  m_ProbeTaus.clear();
633 
635  iEvent.getByToken(AntiMuInputTag_, antimu);
636  if (!antimu.isValid()) {
637  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
638  return;
639  }
640 
642  iEvent.getByToken(DecayModeFindingInputTag_, dmf);
643  if (!dmf.isValid()) {
644  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
645  return;
646  }
647 
649  iEvent.getByToken(AntiEleInputTag_, antiele);
650  if (!antiele.isValid()) {
651  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
652  return;
653  }
654 
656  iEvent.getByToken(comb3TInputTag_, comb3T);
657  if (!comb3T.isValid()) {
658  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
659  return;
660  }
661 
662  if (!m_TightMuons.empty()) {
663  TLorentzVector mymu;
664  mymu.SetPtEtaPhiE(m_TightMuons[0]->pt(), m_TightMuons[0]->eta(), m_TightMuons[0]->phi(), m_TightMuons[0]->energy());
665  int iTau = 0;
666 
667  // load indices from input provenance config if process history changed, in particular for the first event
668  if (iEvent.processHistoryID() != phID_) {
669  phID_ = iEvent.processHistoryID();
670  {
671  const edm::Provenance* prov = antimu.provenance();
672  const std::vector<edm::ParameterSet> psetsFromProvenance =
673  edm::parameterSet(prov->stable(), iEvent.processHistory())
674  .getParameter<std::vector<edm::ParameterSet>>("IDWPdefinitions");
675  for (uint i = 0; i < psetsFromProvenance.size(); i++) {
676  if (psetsFromProvenance[i].getParameter<std::string>("IDname") == AntiMuWP_)
677  AntiMuWPIndex_ = i;
678  }
679  }
680  {
681  const edm::Provenance* prov = antiele.provenance();
682  const std::vector<std::string> psetsFromProvenance =
683  edm::parameterSet(prov->stable(), iEvent.processHistory())
684  .getParameter<std::vector<std::string>>("workingPoints");
685  for (uint i = 0; i < psetsFromProvenance.size(); i++) {
686  if (psetsFromProvenance[i] == AntiEleWP_)
687  AntiEleWPIndex_ = i;
688  }
689  }
690  {
691  const edm::Provenance* prov = comb3T.provenance();
692  const std::vector<edm::ParameterSet> psetsFromProvenance =
693  edm::parameterSet(prov->stable(), iEvent.processHistory())
694  .getParameter<std::vector<edm::ParameterSet>>("IDWPdefinitions");
695  for (uint i = 0; i < psetsFromProvenance.size(); i++) {
696  if (psetsFromProvenance[i].getParameter<std::string>("IDname") == comb3TWP_)
697  comb3TWPIndex_ = i;
698  }
699  }
700  }
701 
702  for (auto tauIt = taus->begin(); tauIt != taus->end(); ++tauIt, ++iTau) {
703  reco::PFTauRef tauCandidate(taus, iTau);
704  TLorentzVector mytau;
705  mytau.SetPtEtaPhiE(tauIt->pt(), tauIt->eta(), tauIt->phi(), tauIt->energy());
706 
707  if ((*antimu)[tauCandidate].workingPoints.empty()) {
708  edm::LogWarning("L1TTauOffline") << "This offline tau has no antimu discriminator, skipping" << std::endl;
709  continue;
710  }
711  if ((*antiele)[tauCandidate].workingPoints.empty()) {
712  edm::LogWarning("L1TTauOffline") << "This offline tau has no antiele discriminator, skipping" << std::endl;
713  continue;
714  }
715  if ((*comb3T)[tauCandidate].workingPoints.empty()) {
716  edm::LogWarning("L1TTauOffline") << "This offline tau has no comb3T discriminator, skipping" << std::endl;
717  continue;
718  }
719 
720  if (fabs(tauIt->charge()) == 1 && fabs(tauIt->eta()) < 2.1 && tauIt->pt() > 20 &&
721  (*antimu)[tauCandidate].workingPoints[AntiMuWPIndex_] &&
722  (*antiele)[tauCandidate].workingPoints[AntiEleWPIndex_] && (*dmf)[tauCandidate] > 0.5 &&
723  (*comb3T)[tauCandidate].workingPoints[comb3TWPIndex_]) {
724  if (mymu.DeltaR(mytau) > 0.5 && (mymu + mytau).M() > 40 && (mymu + mytau).M() < 80 &&
725  m_TightMuons[0]->charge() * tauIt->charge() < 0) {
726  m_ProbeTaus.push_back(&(*tauIt));
727  }
728  }
729  }
730  }
731 }
StableProvenance const & stable() const
Definition: Provenance.h:42
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiMuInputTag_
std::string AntiEleWP_
edm::ProcessHistoryID phID_
std::vector< const reco::PFTau * > m_ProbeTaus
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< reco::TauDiscriminatorContainer > comb3TInputTag_
std::string comb3TWP_
ParameterSet const & parameterSet(StableProvenance const &provenance, ProcessHistory const &history)
Definition: Provenance.cc:11
tuple workingPoints
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiEleInputTag_
std::vector< const reco::Muon * > m_TightMuons
edm::EDGetTokenT< reco::PFTauDiscriminator > DecayModeFindingInputTag_
std::string AntiMuWP_
Log< level::Warning, false > LogWarning
Provenance const * provenance() const
Definition: HandleBase.h:74
void L1TTauOffline::getTauL1tPairs ( edm::Handle< l1t::TauBxCollection > const &  l1tCands)
protected

Definition at line 560 of file L1TTauOffline.cc.

References TauL1TPair::dR(), TauL1TPair::l1tPt(), m_MaxL1tTauDR, m_ProbeTaus, m_TauL1tPairs, and metsig::tau.

Referenced by analyze().

560  {
561  m_TauL1tPairs.clear();
562 
563  vector<l1t::Tau> l1tContainer;
564  l1tContainer.reserve(l1tCands->size() + 1);
565 
566  for (auto tau = l1tCands->begin(0); tau != l1tCands->end(0); ++tau) {
567  l1tContainer.push_back(*tau);
568  }
569 
570  for (auto probeTauIt = m_ProbeTaus.begin(); probeTauIt != m_ProbeTaus.end(); ++probeTauIt) {
571  TauL1TPair pairBestCand((*probeTauIt), nullptr);
572 
573  for (auto l1tIt = l1tContainer.begin(); l1tIt != l1tContainer.end(); ++l1tIt) {
574  TauL1TPair pairTmpCand((*probeTauIt), &(*l1tIt));
575 
576  if (pairTmpCand.dR() < m_MaxL1tTauDR && pairTmpCand.l1tPt() > pairBestCand.l1tPt())
577  pairBestCand = pairTmpCand;
578  }
579 
580  m_TauL1tPairs.push_back(pairBestCand);
581  }
582 }
std::vector< TauL1TPair > m_TauL1tPairs
std::vector< const reco::PFTau * > m_ProbeTaus
void L1TTauOffline::getTightMuons ( edm::Handle< reco::MuonCollection > const &  muons,
edm::Handle< reco::PFMETCollection > const &  mets,
const reco::Vertex vertex,
edm::Handle< trigger::TriggerEvent > const &  trigEvent 
)
protected

Definition at line 584 of file L1TTauOffline.cc.

References muon::isLooseMuon(), m_TightMuons, matchHlt(), SiStripPI::max, funct::pow(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and mathSSE::sqrt().

Referenced by analyze().

587  {
588  m_TightMuons.clear();
589 
590  const reco::PFMET* pfmet = nullptr;
591  pfmet = &(mets->front());
592 
593  int nb_mu = 0;
594 
595  for (auto muonIt2 = muons->begin(); muonIt2 != muons->end(); ++muonIt2) {
596  if (fabs(muonIt2->eta()) < 2.4 && muonIt2->pt() > 10 && muon::isLooseMuon((*muonIt2)) &&
597  (muonIt2->pfIsolationR04().sumChargedHadronPt +
598  max(muonIt2->pfIsolationR04().sumNeutralHadronEt + muonIt2->pfIsolationR04().sumPhotonEt -
599  0.5 * muonIt2->pfIsolationR04().sumPUPt,
600  0.0)) /
601  muonIt2->pt() <
602  0.3) {
603  ++nb_mu;
604  }
605  }
606  bool foundTightMu = false;
607  for (auto muonIt = muons->begin(); muonIt != muons->end(); ++muonIt) {
608  if (!matchHlt(trigEvent, &(*muonIt)))
609  continue;
610  float muiso = (muonIt->pfIsolationR04().sumChargedHadronPt +
611  max(muonIt->pfIsolationR04().sumNeutralHadronEt + muonIt->pfIsolationR04().sumPhotonEt -
612  0.5 * muonIt->pfIsolationR04().sumPUPt,
613  0.0)) /
614  muonIt->pt();
615 
616  if (muiso < 0.1 && nb_mu < 2 && !foundTightMu && fabs(muonIt->eta()) < 2.1 && muonIt->pt() > 24 &&
617  muon::isLooseMuon((*muonIt))) {
618  float mt = sqrt(pow(muonIt->pt() + pfmet->pt(), 2) - pow(muonIt->px() + pfmet->px(), 2) -
619  pow(muonIt->py() + pfmet->py(), 2));
620  if (mt < 30) {
621  m_TightMuons.push_back(&(*muonIt));
622  foundTightMu = true;
623  }
624  }
625  }
626 }
double pt() const final
transverse momentum
bool isLooseMuon(const reco::Muon &)
double px() const final
x coordinate of momentum vector
T sqrt(T t)
Definition: SSEVec.h:19
double py() const final
y coordinate of momentum vector
std::vector< const reco::Muon * > m_TightMuons
bool matchHlt(edm::Handle< trigger::TriggerEvent > const &triggerEvent, const reco::Muon *muon)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
bool L1TTauOffline::matchHlt ( edm::Handle< trigger::TriggerEvent > const &  triggerEvent,
const reco::Muon muon 
)
protected

Definition at line 531 of file L1TTauOffline.cc.

References HLT_FULL_cff::deltaR, HLT_FULL_cff::InputTag, m_hltConfig, m_MaxHltTauDR, m_trigIndices, HLTConfigProvider::moduleLabels(), HLTConfigProvider::size(), TriggerAnalyzer::trigObjs, and trigProcess_.

Referenced by getTightMuons().

531  {
532  double matchDeltaR = 9999;
533 
534  trigger::TriggerObjectCollection trigObjs = triggerEvent->getObjects();
535 
536  for (auto trigIndexIt = m_trigIndices.begin(); trigIndexIt != m_trigIndices.end(); ++trigIndexIt) {
537  const vector<string> moduleLabels(m_hltConfig.moduleLabels(*trigIndexIt));
538  const unsigned moduleIndex = m_hltConfig.size((*trigIndexIt)) - 2;
539 
540  const unsigned hltFilterIndex = triggerEvent->filterIndex(InputTag(moduleLabels[moduleIndex], "", trigProcess_));
541 
542  if (hltFilterIndex < triggerEvent->sizeFilters()) {
543  const Keys triggerKeys(triggerEvent->filterKeys(hltFilterIndex));
544  const Vids triggerVids(triggerEvent->filterIds(hltFilterIndex));
545 
546  const unsigned nTriggers = triggerVids.size();
547  for (size_t iTrig = 0; iTrig < nTriggers; ++iTrig) {
548  const TriggerObject trigObject = trigObjs[triggerKeys[iTrig]];
549 
550  double dRtmp = deltaR((*muon), trigObject);
551  if (dRtmp < matchDeltaR)
552  matchDeltaR = dRtmp;
553  }
554  }
555  }
556 
557  return (matchDeltaR < m_MaxHltTauDR);
558 }
unsigned int size() const
number of trigger paths in trigger table
std::vector< int > m_trigIndices
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
HLTConfigProvider m_hltConfig
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
std::string trigProcess_
std::vector< size_type > Keys
std::vector< int > Vids
void L1TTauOffline::normalise2DHistogramsToBinArea ( )
private

Definition at line 733 of file L1TTauOffline.cc.

References h, h_L1TauEtavsTauEta_, h_L1TauETvsTauET_EB_, h_L1TauETvsTauET_EB_EE_, h_L1TauETvsTauET_EE_, h_L1TauPhivsTauPhi_EB_, h_L1TauPhivsTauPhi_EB_EE_, h_L1TauPhivsTauPhi_EE_, and LaserDQM_cfi::mon.

733  {
734  std::vector<MonitorElement*> monElementstoNormalize = {h_L1TauETvsTauET_EB_,
741 
742  for (auto mon : monElementstoNormalize) {
743  if (mon != nullptr) {
744  auto h = mon->getTH2F();
745  if (h != nullptr) {
746  h->Scale(1, "width");
747  }
748  }
749  }
750 }
MonitorElement * h_L1TauPhivsTauPhi_EB_
MonitorElement * h_L1TauPhivsTauPhi_EE_
MonitorElement * h_L1TauEtavsTauEta_
MonitorElement * h_L1TauETvsTauET_EB_EE_
MonitorElement * h_L1TauETvsTauET_EE_
MonitorElement * h_L1TauPhivsTauPhi_EB_EE_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
MonitorElement * h_L1TauETvsTauET_EB_

Member Data Documentation

edm::EDGetTokenT<reco::TauDiscriminatorContainer> L1TTauOffline::AntiEleInputTag_
private

Definition at line 135 of file L1TTauOffline.h.

Referenced by getProbeTaus().

std::string L1TTauOffline::AntiEleWP_
private

Definition at line 136 of file L1TTauOffline.h.

Referenced by getProbeTaus().

int L1TTauOffline::AntiEleWPIndex_
private

Definition at line 137 of file L1TTauOffline.h.

Referenced by getProbeTaus().

edm::EDGetTokenT<reco::TauDiscriminatorContainer> L1TTauOffline::AntiMuInputTag_
private

Definition at line 131 of file L1TTauOffline.h.

Referenced by getProbeTaus().

std::string L1TTauOffline::AntiMuWP_
private

Definition at line 133 of file L1TTauOffline.h.

Referenced by getProbeTaus().

int L1TTauOffline::AntiMuWPIndex_
private

Definition at line 134 of file L1TTauOffline.h.

Referenced by getProbeTaus().

edm::EDGetTokenT<reco::BeamSpot> L1TTauOffline::BsInputTag_
private

Definition at line 145 of file L1TTauOffline.h.

Referenced by analyze().

edm::EDGetTokenT<reco::TauDiscriminatorContainer> L1TTauOffline::comb3TInputTag_
private

Definition at line 139 of file L1TTauOffline.h.

Referenced by getProbeTaus().

std::string L1TTauOffline::comb3TWP_
private

Definition at line 140 of file L1TTauOffline.h.

Referenced by getProbeTaus().

int L1TTauOffline::comb3TWPIndex_
private

Definition at line 141 of file L1TTauOffline.h.

Referenced by getProbeTaus().

edm::EDGetTokenT<reco::PFTauDiscriminator> L1TTauOffline::DecayModeFindingInputTag_
private

Definition at line 138 of file L1TTauOffline.h.

Referenced by getProbeTaus().

std::string L1TTauOffline::efficiencyFolder_
private

Definition at line 151 of file L1TTauOffline.h.

Referenced by bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EB_EE_pass_
private

Definition at line 204 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EB_EE_total_
private

Definition at line 214 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EB_pass_
private

Definition at line 202 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EB_total_
private

Definition at line 212 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EE_pass_
private

Definition at line 203 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyIsoTauET_EE_total_
private

Definition at line 213 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EB_EE_pass_
private

Definition at line 208 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EB_EE_total_
private

Definition at line 218 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EB_pass_
private

Definition at line 206 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EB_total_
private

Definition at line 216 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EE_pass_
private

Definition at line 207 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

std::map<double, MonitorElement*> L1TTauOffline::h_efficiencyNonIsoTauET_EE_total_
private

Definition at line 217 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_L1TauEtavsTauEta_
private

Definition at line 188 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_
private

Definition at line 180 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_EE_
private

Definition at line 182 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EE_
private

Definition at line 181 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_
private

Definition at line 184 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_EE_
private

Definition at line 186 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EE_
private

Definition at line 185 of file L1TTauOffline.h.

Referenced by analyze(), bookTauHistos(), and normalise2DHistogramsToBinArea().

MonitorElement* L1TTauOffline::h_nVertex_
private

Definition at line 176 of file L1TTauOffline.h.

Referenced by bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_
private

Definition at line 191 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_EE_
private

Definition at line 193 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EE_
private

Definition at line 192 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauEta_
private

Definition at line 199 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_
private

Definition at line 195 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_EE_
private

Definition at line 197 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EE_
private

Definition at line 196 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_tagAndProbeMass_
private

Definition at line 177 of file L1TTauOffline.h.

Referenced by bookTauHistos().

dqmoffline::l1t::HistDefinitions L1TTauOffline::histDefinitions_
private

Definition at line 155 of file L1TTauOffline.h.

Referenced by bookTauHistos().

std::string L1TTauOffline::histFolder_
private

Definition at line 150 of file L1TTauOffline.h.

Referenced by bookTauHistos().

edm::ESHandle<MagneticField> L1TTauOffline::m_BField
private

Definition at line 123 of file L1TTauOffline.h.

Referenced by analyze().

HLTConfigProvider L1TTauOffline::m_hltConfig
private

Definition at line 121 of file L1TTauOffline.h.

Referenced by bookHistograms(), dqmBeginRun(), and matchHlt().

BXVector<l1t::Tau> L1TTauOffline::m_L1tL1tTaus
private

Definition at line 164 of file L1TTauOffline.h.

std::vector<int> L1TTauOffline::m_L1tPtCuts
private

Definition at line 167 of file L1TTauOffline.h.

std::vector<l1t::TauBxCollection> L1TTauOffline::m_L1tTaus
private

Definition at line 162 of file L1TTauOffline.h.

float L1TTauOffline::m_MaxHltTauDR
private

Definition at line 171 of file L1TTauOffline.h.

Referenced by analyze(), and matchHlt().

float L1TTauOffline::m_MaxL1tTauDR
private

Definition at line 170 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

float L1TTauOffline::m_MaxTauEta
private

Definition at line 169 of file L1TTauOffline.h.

Referenced by analyze().

std::vector<const reco::PFTau*> L1TTauOffline::m_ProbeTaus
private

Definition at line 158 of file L1TTauOffline.h.

Referenced by getProbeTaus(), and getTauL1tPairs().

edm::ESHandle<Propagator> L1TTauOffline::m_propagatorAlong
private

Definition at line 124 of file L1TTauOffline.h.

edm::ESHandle<Propagator> L1TTauOffline::m_propagatorOpposite
private

Definition at line 125 of file L1TTauOffline.h.

std::vector<reco::PFTau> L1TTauOffline::m_RecoRecoTaus
private

Definition at line 163 of file L1TTauOffline.h.

std::vector<reco::PFTauCollection> L1TTauOffline::m_RecoTaus
private

Definition at line 161 of file L1TTauOffline.h.

std::vector<TauL1TPair> L1TTauOffline::m_TauL1tPairs
private

Definition at line 159 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

std::vector<const reco::Muon*> L1TTauOffline::m_TightMuons
private

Definition at line 157 of file L1TTauOffline.h.

Referenced by getProbeTaus(), and getTightMuons().

std::vector<int> L1TTauOffline::m_trigIndices
private

Definition at line 173 of file L1TTauOffline.h.

Referenced by bookHistograms(), and matchHlt().

edm::EDGetTokenT<reco::PFMETCollection> L1TTauOffline::MetInputTag_
private

Definition at line 143 of file L1TTauOffline.h.

Referenced by analyze().

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> L1TTauOffline::mFieldToken_
private

Definition at line 132 of file L1TTauOffline.h.

Referenced by analyze(), and L1TTauOffline().

edm::EDGetTokenT<reco::MuonCollection> L1TTauOffline::MuonInputTag_
private

Definition at line 142 of file L1TTauOffline.h.

Referenced by analyze().

edm::ProcessHistoryID L1TTauOffline::phID_
private

Definition at line 127 of file L1TTauOffline.h.

Referenced by getProbeTaus().

const std::map< std::string, unsigned int > L1TTauOffline::PlotConfigNames
static
Initial value:
= {
{"nVertex", PlotConfig::nVertex}, {"ETvsET", PlotConfig::ETvsET}, {"PHIvsPHI", PlotConfig::PHIvsPHI}}

Definition at line 87 of file L1TTauOffline.h.

math::XYZPoint L1TTauOffline::PVPoint_
private

Definition at line 119 of file L1TTauOffline.h.

edm::EDGetTokenT<l1t::TauBxCollection> L1TTauOffline::stage2CaloLayer2TauToken_
private

Definition at line 152 of file L1TTauOffline.h.

Referenced by analyze().

std::vector<double> L1TTauOffline::tauEfficiencyBins_
private

Definition at line 154 of file L1TTauOffline.h.

Referenced by bookTauHistos().

std::vector<int> L1TTauOffline::tauEfficiencyThresholds_
private

Definition at line 153 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

edm::EDGetTokenT<reco::PFTauCollection> L1TTauOffline::theTauCollection_
private

Definition at line 130 of file L1TTauOffline.h.

Referenced by analyze().

edm::EDGetTokenT<trigger::TriggerEvent> L1TTauOffline::triggerEvent_
private

Definition at line 146 of file L1TTauOffline.h.

Referenced by analyze().

std::vector<std::string> L1TTauOffline::triggerPath_
private

Definition at line 149 of file L1TTauOffline.h.

Referenced by bookHistograms().

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

Definition at line 148 of file L1TTauOffline.h.

Referenced by analyze().

std::string L1TTauOffline::trigProcess_
private

Definition at line 147 of file L1TTauOffline.h.

Referenced by dqmBeginRun(), and matchHlt().

edm::EDGetTokenT<reco::VertexCollection> L1TTauOffline::VtxInputTag_
private

Definition at line 144 of file L1TTauOffline.h.

Referenced by analyze().