CMS 3D CMS Logo

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::TauDiscriminatorContainerAntiEleInputTag_
 
std::string AntiEleWP_
 
int AntiEleWPIndex_
 
edm::EDGetTokenT< reco::TauDiscriminatorContainerAntiMuInputTag_
 
std::string AntiMuWP_
 
int AntiMuWPIndex_
 
edm::EDGetTokenT< reco::BeamSpotBsInputTag_
 
edm::EDGetTokenT< reco::TauDiscriminatorContainercomb3TInputTag_
 
std::string comb3TWP_
 
int comb3TWPIndex_
 
edm::EDGetTokenT< reco::PFTauDiscriminatorDecayModeFindingInputTag_
 
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_
 
bool m_AntiEleExists
 
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::PFTauCollectionm_RecoTaus
 
std::vector< TauL1TPairm_TauL1tPairs
 
std::vector< const reco::Muon * > m_TightMuons
 
std::vector< int > m_trigIndices
 
edm::EDGetTokenT< reco::PFMETCollectionMetInputTag_
 
edm::ESGetToken< MagneticField, IdealMagneticFieldRecordmFieldToken_
 
edm::EDGetTokenT< reco::MuonCollectionMuonInputTag_
 
edm::ProcessHistoryID phID_
 
math::XYZPoint PVPoint_
 
edm::EDGetTokenT< l1t::TauBxCollectionstage2CaloLayer2TauToken_
 
std::vector< double > tauEfficiencyBins_
 
std::vector< int > tauEfficiencyThresholds_
 
edm::EDGetTokenT< reco::PFTauCollectiontheTauCollection_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerEvent_
 
std::vector< std::string > triggerPath_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResults_
 
std::string trigProcess_
 
edm::EDGetTokenT< reco::VertexCollectionVtxInputTag_
 

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< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (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

◆ PlotConfig

Enumerator
nVertex 
ETvsET 
PHIvsPHI 

Definition at line 85 of file L1TTauOffline.h.

Constructor & Destructor Documentation

◆ L1TTauOffline()

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_
std::vector< std::string > triggerPath_
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
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_
ParameterSet const & getParameterSet(std::string const &) const
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_
T getUntrackedParameter(std::string const &, T const &) const
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_
MonitorElement * h_tagAndProbeMass_
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
MonitorElement * h_L1TauETvsTauET_EB_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_pass_
std::vector< reco::PFTau > m_RecoRecoTaus

◆ ~L1TTauOffline()

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

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 171 of file L1TTauOffline.cc.

References pwdgSkimBPark_cfi::beamSpot, BXVector< T >::begin(), BsInputTag_, counter, MillePedeFileConverter_cfg::e, BXVector< T >::end(), PVValHelper::eta, dqm::impl::MonitorElement::Fill(), 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_, singleTopDQM_cfi::mets, mFieldToken_, MuonInputTag_, DiMuonV_cfg::muons, phi, BeamMonitor_cff::primaryVertex, DiDispStaMuonMonitor_cfi::pt, BXVector< T >::size(), stage2CaloLayer2TauToken_, AlCaHLTBitMon_QueryRunRegistry::string, metsig::tau, tauEfficiencyThresholds_, Tau3MuMonitor_cff::taus, theTauCollection_, DiMuonV_cfg::threshold, to_string(), B2GTnPMonitor_cfi::trigEvent, triggerEvent_, triggerResults_, bphysicsOniaDQM_cfi::vertex, 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 
243 
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  }
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)
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:214
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EB_EE_total_
static std::string to_string(const XMLCh *ch)
MonitorElement * h_resolutionTauPhi_EB_
MonitorElement * h_L1TauPhivsTauPhi_EE_
const_iterator begin(int bx) const
unsigned size(int bx) const
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_
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)
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
const_iterator end(int bx) const
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_
primaryVertex
hltOfflineBeamSpot for HLTMON
MonitorElement * h_L1TauETvsTauET_EB_
std::map< double, MonitorElement * > h_efficiencyNonIsoTauET_EE_pass_

◆ bookHistograms()

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, createfilelist::int, 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 }
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< std::string > triggerPath_
std::vector< int > m_trigIndices
void bookTauHistos(DQMStore::IBooker &)
HLTConfigProvider m_hltConfig
unsigned int size() const
number of trigger paths in trigger table
Log< level::Info, false > LogInfo

◆ bookTauHistos()

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_, L1TEGammaOffline_cfi::ETvsET, 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, seedmultiplicitymonitor_newtracking_cfi::nBins, dqmoffline::l1t::HistDefinition::nbinsX, dqmoffline::l1t::HistDefinition::nbinsY, L1TEGammaOffline_cfi::nVertex, L1TEGammaOffline_cfi::PHIvsPHI, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tauEfficiencyBins_, tauEfficiencyThresholds_, DiMuonV_cfg::threshold, dqmoffline::l1t::HistDefinition::title, to_string(), 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_);
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 
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 
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:36
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_
static std::string to_string(const XMLCh *ch)
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:221
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_

◆ calcDeltaPhi()

double L1TTauOffline::calcDeltaPhi ( double  phi1,
double  phi2 
)
private

◆ Distance()

double L1TTauOffline::Distance ( const reco::Candidate c1,
const reco::Candidate c2 
)
private

◆ DistancePhi()

double L1TTauOffline::DistancePhi ( const reco::Candidate c1,
const reco::Candidate c2 
)
private

◆ dqmBeginRun()

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, writedatasetfile::run, 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

◆ getPrimaryVertex()

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 pwdgSkimBPark_cfi::beamSpot, reco::Vertex::position(), BeamMonitor_cff::primaryVertex, and bphysicsOniaDQM_cfi::vertex.

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:45
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
primaryVertex
hltOfflineBeamSpot for HLTMON

◆ getProbeTaus()

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 637 of file L1TTauOffline.cc.

References AntiEleInputTag_, AntiEleWP_, AntiEleWPIndex_, AntiMuInputTag_, AntiMuWP_, AntiMuWPIndex_, comb3TInputTag_, comb3TWP_, comb3TWPIndex_, DecayModeFindingInputTag_, hcalRecHitTable_cff::energy, PVValHelper::eta, mps_fire::i, iEvent, edm::HandleBase::isValid(), m_AntiEleExists, m_ProbeTaus, m_TightMuons, edm::parameterSet(), phi, phID_, edm::HandleBase::provenance(), DiDispStaMuonMonitor_cfi::pt, edm::Provenance::stable(), Tau3MuMonitor_cff::taus, parallelization::uint, and PDWG_TauSkim_cff::workingPoints.

Referenced by analyze().

640  {
641  m_ProbeTaus.clear();
642 
644  iEvent.getByToken(AntiMuInputTag_, antimu);
645  if (!antimu.isValid()) {
646  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator anti-mu";
647  return;
648  }
649 
651  iEvent.getByToken(DecayModeFindingInputTag_, dmf);
652  if (!dmf.isValid()) {
653  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator decay mode finding input";
654  return;
655  }
656  m_AntiEleExists = true;
657 
659  iEvent.getByToken(AntiEleInputTag_, antiele);
660  if (!antiele.isValid()) {
661  //V.M. 16.3.2023. Bypassing the return option for now, as the anti-ele discr. is not available.
662  m_AntiEleExists = false;
663  }
664 
666  iEvent.getByToken(comb3TInputTag_, comb3T);
667  if (!comb3T.isValid()) {
668  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator comb3T";
669  return;
670  }
671 
672  if (!m_TightMuons.empty()) {
673  TLorentzVector mymu;
674  mymu.SetPtEtaPhiE(m_TightMuons[0]->pt(), m_TightMuons[0]->eta(), m_TightMuons[0]->phi(), m_TightMuons[0]->energy());
675  int iTau = 0;
676 
677  // load indices from input provenance config if process history changed, in particular for the first event
678  if (iEvent.processHistoryID() != phID_) {
679  phID_ = iEvent.processHistoryID();
680  {
681  const edm::Provenance* prov = antimu.provenance();
682  const std::vector<edm::ParameterSet> psetsFromProvenance =
683  edm::parameterSet(prov->stable(), iEvent.processHistory())
684  .getParameter<std::vector<edm::ParameterSet>>("IDWPdefinitions");
685  for (uint i = 0; i < psetsFromProvenance.size(); i++) {
686  if (psetsFromProvenance[i].getParameter<std::string>("IDname") == AntiMuWP_)
687  AntiMuWPIndex_ = i;
688  }
689  }
690  {
691  if (m_AntiEleExists) {
692  const edm::Provenance* prov = antiele.provenance();
693  const std::vector<std::string> psetsFromProvenance =
694  edm::parameterSet(prov->stable(), iEvent.processHistory())
695  .getParameter<std::vector<std::string>>("workingPoints");
696  for (unsigned int i = 0; i < psetsFromProvenance.size(); i++) {
697  if (psetsFromProvenance[i] == AntiEleWP_)
698  AntiEleWPIndex_ = i;
699  }
700  }
701  }
702  {
703  const edm::Provenance* prov = comb3T.provenance();
704  const std::vector<edm::ParameterSet> psetsFromProvenance =
705  edm::parameterSet(prov->stable(), iEvent.processHistory())
706  .getParameter<std::vector<edm::ParameterSet>>("IDWPdefinitions");
707  for (uint i = 0; i < psetsFromProvenance.size(); i++) {
708  if (psetsFromProvenance[i].getParameter<std::string>("IDname") == comb3TWP_)
709  comb3TWPIndex_ = i;
710  }
711  }
712  }
713 
714  for (auto tauIt = taus->begin(); tauIt != taus->end(); ++tauIt, ++iTau) {
715  reco::PFTauRef tauCandidate(taus, iTau);
716  TLorentzVector mytau;
717  mytau.SetPtEtaPhiE(tauIt->pt(), tauIt->eta(), tauIt->phi(), tauIt->energy());
718 
719  if ((*antimu)[tauCandidate].workingPoints.empty()) {
720  edm::LogWarning("L1TTauOffline") << "This offline tau has no antimu discriminator, skipping";
721  continue;
722  }
723  if (m_AntiEleExists) {
724  if ((*antiele)[tauCandidate].workingPoints.empty()) {
725  edm::LogWarning("L1TTauOffline") << "This offline tau has no antiele discriminator, skipping";
726  continue;
727  }
728  }
729  if ((*comb3T)[tauCandidate].workingPoints.empty()) {
730  edm::LogWarning("L1TTauOffline") << "This offline tau has no comb3T discriminator, skipping";
731  continue;
732  }
733  bool antiele_condition = true;
734 
735  if (m_AntiEleExists)
736  antiele_condition = (*antiele)[tauCandidate].workingPoints[AntiEleWPIndex_];
737 
738  if (fabs(tauIt->charge()) == 1 && fabs(tauIt->eta()) < 2.1 && tauIt->pt() > 20 &&
739  (*antimu)[tauCandidate].workingPoints[AntiMuWPIndex_] && antiele_condition && (*dmf)[tauCandidate] > 0.5 &&
740  (*comb3T)[tauCandidate].workingPoints[comb3TWPIndex_]) {
741  if (mymu.DeltaR(mytau) > 0.5 && (mymu + mytau).M() > 40 && (mymu + mytau).M() < 80 &&
742  m_TightMuons[0]->charge() * tauIt->charge() < 0) {
743  m_ProbeTaus.push_back(&(*tauIt));
744  }
745  }
746  }
747  }
748 }
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiMuInputTag_
Provenance const * provenance() const
Definition: HandleBase.h:74
ParameterSet const & parameterSet(StableProvenance const &provenance, ProcessHistory const &history)
Definition: Provenance.cc:11
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_
edm::EDGetTokenT< reco::TauDiscriminatorContainer > AntiEleInputTag_
std::vector< const reco::Muon * > m_TightMuons
edm::EDGetTokenT< reco::PFTauDiscriminator > DecayModeFindingInputTag_
bool isValid() const
Definition: HandleBase.h:70
std::string AntiMuWP_
Log< level::Warning, false > LogWarning
StableProvenance const & stable() const
Definition: Provenance.h:42

◆ getTauL1tPairs()

void L1TTauOffline::getTauL1tPairs ( edm::Handle< l1t::TauBxCollection > const &  l1tCands)
protected

Definition at line 569 of file L1TTauOffline.cc.

References BXVector< T >::begin(), TauL1TPair::dR(), BXVector< T >::end(), TauL1TPair::l1tPt(), m_MaxL1tTauDR, m_ProbeTaus, m_TauL1tPairs, BXVector< T >::size(), and metsig::tau.

Referenced by analyze().

569  {
570  m_TauL1tPairs.clear();
571 
572  vector<l1t::Tau> l1tContainer;
573  l1tContainer.reserve(l1tCands->size() + 1);
574 
575  for (auto tau = l1tCands->begin(0); tau != l1tCands->end(0); ++tau) {
576  l1tContainer.push_back(*tau);
577  }
578 
579  for (auto probeTauIt = m_ProbeTaus.begin(); probeTauIt != m_ProbeTaus.end(); ++probeTauIt) {
580  TauL1TPair pairBestCand((*probeTauIt), nullptr);
581 
582  for (auto l1tIt = l1tContainer.begin(); l1tIt != l1tContainer.end(); ++l1tIt) {
583  TauL1TPair pairTmpCand((*probeTauIt), &(*l1tIt));
584 
585  if (pairTmpCand.dR() < m_MaxL1tTauDR && pairTmpCand.l1tPt() > pairBestCand.l1tPt())
586  pairBestCand = pairTmpCand;
587  }
588 
589  m_TauL1tPairs.push_back(pairBestCand);
590  }
591 }
std::vector< TauL1TPair > m_TauL1tPairs
const_iterator begin(int bx) const
unsigned size(int bx) const
std::vector< const reco::PFTau * > m_ProbeTaus
const_iterator end(int bx) const

◆ getTightMuons()

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 593 of file L1TTauOffline.cc.

References muon::isLooseMuon(), m_TightMuons, matchHlt(), SiStripPI::max, singleTopDQM_cfi::mets, TtSemiLepEvtBuilder_cfi::mt, DiMuonV_cfg::muons, funct::pow(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), and B2GTnPMonitor_cfi::trigEvent.

Referenced by analyze().

596  {
597  m_TightMuons.clear();
598 
599  const reco::PFMET* pfmet = nullptr;
600  pfmet = &(mets->front());
601 
602  int nb_mu = 0;
603 
604  for (auto muonIt2 = muons->begin(); muonIt2 != muons->end(); ++muonIt2) {
605  if (fabs(muonIt2->eta()) < 2.4 && muonIt2->pt() > 10 && muon::isLooseMuon((*muonIt2)) &&
606  (muonIt2->pfIsolationR04().sumChargedHadronPt +
607  max(muonIt2->pfIsolationR04().sumNeutralHadronEt + muonIt2->pfIsolationR04().sumPhotonEt -
608  0.5 * muonIt2->pfIsolationR04().sumPUPt,
609  0.0)) /
610  muonIt2->pt() <
611  0.3) {
612  ++nb_mu;
613  }
614  }
615  bool foundTightMu = false;
616  for (auto muonIt = muons->begin(); muonIt != muons->end(); ++muonIt) {
617  if (!matchHlt(trigEvent, &(*muonIt)))
618  continue;
619  float muiso = (muonIt->pfIsolationR04().sumChargedHadronPt +
620  max(muonIt->pfIsolationR04().sumNeutralHadronEt + muonIt->pfIsolationR04().sumPhotonEt -
621  0.5 * muonIt->pfIsolationR04().sumPUPt,
622  0.0)) /
623  muonIt->pt();
624 
625  if (muiso < 0.1 && nb_mu < 2 && !foundTightMu && fabs(muonIt->eta()) < 2.1 && muonIt->pt() > 24 &&
626  muon::isLooseMuon((*muonIt))) {
627  float mt = sqrt(pow(muonIt->pt() + pfmet->pt(), 2) - pow(muonIt->px() + pfmet->px(), 2) -
628  pow(muonIt->py() + pfmet->py(), 2));
629  if (mt < 30) {
630  m_TightMuons.push_back(&(*muonIt));
631  foundTightMu = true;
632  }
633  }
634  }
635 }
double pt() const final
transverse momentum
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:214
bool isLooseMuon(const reco::Muon &)
double px() const final
x coordinate of momentum vector
T sqrt(T t)
Definition: SSEVec.h:23
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

◆ matchHlt()

bool L1TTauOffline::matchHlt ( edm::Handle< trigger::TriggerEvent > const &  triggerEvent,
const reco::Muon muon 
)
protected

Definition at line 531 of file L1TTauOffline.cc.

References PbPb_ZMuSkimMuonDPG_cff::deltaR, cuy::ii, ProducerED_cfi::InputTag, m_hltConfig, m_MaxHltTauDR, m_trigIndices, HLTConfigProvider::moduleLabels(), PDWG_DiPhoton_SD_cff::triggerEvent, TriggerAnalyzer::trigObjs, and trigProcess_.

Referenced by getTightMuons().

531  {
532  double matchDeltaR = 9999;
533 
535 
536  for (auto& trigIndex : m_trigIndices) {
537  const vector<string> moduleLabels(m_hltConfig.moduleLabels(trigIndex));
538  // V.M. 2023.03.08 Same issue as in the L1TMuonDQMOffline.cc - some modules are behind hltBoolEnd, but we want the last one before the "hltBoolEnd"
539  int moduleIndex = 999999;
540  for (int ii = moduleLabels.size() - 1; ii > 0; ii--) {
541  if (moduleLabels[ii] == "hltBoolEnd") {
542  moduleIndex = ii - 1;
543  break;
544  }
545  }
546  if (moduleIndex == 999999) {
547  edm::LogError("L1TMuonDQMOffline") << "Found no module label in trigger " << trigIndex;
548  continue;
549  }
550  const unsigned hltFilterIndex = triggerEvent->filterIndex(InputTag(moduleLabels[moduleIndex], "", trigProcess_));
551 
552  if (hltFilterIndex < triggerEvent->sizeFilters()) {
553  const Keys triggerKeys(triggerEvent->filterKeys(hltFilterIndex));
554  const Vids triggerVids(triggerEvent->filterIds(hltFilterIndex));
555 
556  const unsigned nTriggers = triggerVids.size();
557  for (size_t iTrig = 0; iTrig < nTriggers; ++iTrig) {
558  const TriggerObject trigObject = trigObjs[triggerKeys[iTrig]];
559 
560  double dRtmp = deltaR((*muon), trigObject);
561  if (dRtmp < matchDeltaR)
562  matchDeltaR = dRtmp;
563  }
564  }
565  }
566  return (matchDeltaR < m_MaxHltTauDR);
567 }
std::vector< int > m_trigIndices
Log< level::Error, false > LogError
HLTConfigProvider m_hltConfig
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
ii
Definition: cuy.py:589
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

◆ normalise2DHistogramsToBinArea()

void L1TTauOffline::normalise2DHistogramsToBinArea ( )
private

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

750  {
751  std::vector<MonitorElement*> monElementstoNormalize = {h_L1TauETvsTauET_EB_,
758 
759  for (auto mon : monElementstoNormalize) {
760  if (mon != nullptr) {
761  auto h = mon->getTH2F();
762  if (h != nullptr) {
763  h->Scale(1, "width");
764  }
765  }
766  }
767 }
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

◆ AntiEleInputTag_

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

Definition at line 135 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ AntiEleWP_

std::string L1TTauOffline::AntiEleWP_
private

Definition at line 136 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ AntiEleWPIndex_

int L1TTauOffline::AntiEleWPIndex_
private

Definition at line 137 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ AntiMuInputTag_

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

Definition at line 131 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ AntiMuWP_

std::string L1TTauOffline::AntiMuWP_
private

Definition at line 133 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ AntiMuWPIndex_

int L1TTauOffline::AntiMuWPIndex_
private

Definition at line 134 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ BsInputTag_

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

Definition at line 145 of file L1TTauOffline.h.

Referenced by analyze().

◆ comb3TInputTag_

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

Definition at line 139 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ comb3TWP_

std::string L1TTauOffline::comb3TWP_
private

Definition at line 140 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ comb3TWPIndex_

int L1TTauOffline::comb3TWPIndex_
private

Definition at line 141 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ DecayModeFindingInputTag_

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

Definition at line 138 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ efficiencyFolder_

std::string L1TTauOffline::efficiencyFolder_
private

Definition at line 151 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ h_efficiencyIsoTauET_EB_EE_pass_

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

Definition at line 207 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyIsoTauET_EB_EE_total_

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

Definition at line 217 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyIsoTauET_EB_pass_

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

Definition at line 205 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyIsoTauET_EB_total_

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

Definition at line 215 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyIsoTauET_EE_pass_

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

Definition at line 206 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyIsoTauET_EE_total_

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

Definition at line 216 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EB_EE_pass_

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

Definition at line 211 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EB_EE_total_

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

Definition at line 221 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EB_pass_

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

Definition at line 209 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EB_total_

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

Definition at line 219 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EE_pass_

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

Definition at line 210 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_efficiencyNonIsoTauET_EE_total_

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

Definition at line 220 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_L1TauEtavsTauEta_

MonitorElement* L1TTauOffline::h_L1TauEtavsTauEta_
private

Definition at line 191 of file L1TTauOffline.h.

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

◆ h_L1TauETvsTauET_EB_

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_
private

Definition at line 183 of file L1TTauOffline.h.

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

◆ h_L1TauETvsTauET_EB_EE_

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_EE_
private

Definition at line 185 of file L1TTauOffline.h.

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

◆ h_L1TauETvsTauET_EE_

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EE_
private

Definition at line 184 of file L1TTauOffline.h.

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

◆ h_L1TauPhivsTauPhi_EB_

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_
private

Definition at line 187 of file L1TTauOffline.h.

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

◆ h_L1TauPhivsTauPhi_EB_EE_

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_EE_
private

Definition at line 189 of file L1TTauOffline.h.

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

◆ h_L1TauPhivsTauPhi_EE_

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EE_
private

Definition at line 188 of file L1TTauOffline.h.

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

◆ h_nVertex_

MonitorElement* L1TTauOffline::h_nVertex_
private

Definition at line 179 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ h_resolutionTauET_EB_

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_
private

Definition at line 194 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauET_EB_EE_

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_EE_
private

Definition at line 196 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauET_EE_

MonitorElement* L1TTauOffline::h_resolutionTauET_EE_
private

Definition at line 195 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauEta_

MonitorElement* L1TTauOffline::h_resolutionTauEta_
private

Definition at line 202 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauPhi_EB_

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_
private

Definition at line 198 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauPhi_EB_EE_

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_EE_
private

Definition at line 200 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_resolutionTauPhi_EE_

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EE_
private

Definition at line 199 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ h_tagAndProbeMass_

MonitorElement* L1TTauOffline::h_tagAndProbeMass_
private

Definition at line 180 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ histDefinitions_

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

Definition at line 155 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ histFolder_

std::string L1TTauOffline::histFolder_
private

Definition at line 150 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ m_AntiEleExists

bool L1TTauOffline::m_AntiEleExists
private

Definition at line 176 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ m_BField

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

Definition at line 123 of file L1TTauOffline.h.

Referenced by analyze().

◆ m_hltConfig

HLTConfigProvider L1TTauOffline::m_hltConfig
private

Definition at line 121 of file L1TTauOffline.h.

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

◆ m_L1tL1tTaus

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

Definition at line 164 of file L1TTauOffline.h.

◆ m_L1tPtCuts

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

Definition at line 167 of file L1TTauOffline.h.

◆ m_L1tTaus

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

Definition at line 162 of file L1TTauOffline.h.

◆ m_MaxHltTauDR

float L1TTauOffline::m_MaxHltTauDR
private

Definition at line 171 of file L1TTauOffline.h.

Referenced by analyze(), and matchHlt().

◆ m_MaxL1tTauDR

float L1TTauOffline::m_MaxL1tTauDR
private

Definition at line 170 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

◆ m_MaxTauEta

float L1TTauOffline::m_MaxTauEta
private

Definition at line 169 of file L1TTauOffline.h.

Referenced by analyze().

◆ m_ProbeTaus

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

Definition at line 158 of file L1TTauOffline.h.

Referenced by getProbeTaus(), and getTauL1tPairs().

◆ m_propagatorAlong

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

Definition at line 124 of file L1TTauOffline.h.

◆ m_propagatorOpposite

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

Definition at line 125 of file L1TTauOffline.h.

◆ m_RecoRecoTaus

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

Definition at line 163 of file L1TTauOffline.h.

◆ m_RecoTaus

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

Definition at line 161 of file L1TTauOffline.h.

◆ m_TauL1tPairs

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

Definition at line 159 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

◆ m_TightMuons

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

Definition at line 157 of file L1TTauOffline.h.

Referenced by getProbeTaus(), and getTightMuons().

◆ m_trigIndices

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

Definition at line 173 of file L1TTauOffline.h.

Referenced by bookHistograms(), and matchHlt().

◆ MetInputTag_

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

Definition at line 143 of file L1TTauOffline.h.

Referenced by analyze().

◆ mFieldToken_

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

Definition at line 132 of file L1TTauOffline.h.

Referenced by analyze(), and L1TTauOffline().

◆ MuonInputTag_

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

Definition at line 142 of file L1TTauOffline.h.

Referenced by analyze().

◆ phID_

edm::ProcessHistoryID L1TTauOffline::phID_
private

Definition at line 127 of file L1TTauOffline.h.

Referenced by getProbeTaus().

◆ PlotConfigNames

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.

◆ PVPoint_

math::XYZPoint L1TTauOffline::PVPoint_
private

Definition at line 119 of file L1TTauOffline.h.

◆ stage2CaloLayer2TauToken_

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

Definition at line 152 of file L1TTauOffline.h.

Referenced by analyze().

◆ tauEfficiencyBins_

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

Definition at line 154 of file L1TTauOffline.h.

Referenced by bookTauHistos().

◆ tauEfficiencyThresholds_

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

Definition at line 153 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

◆ theTauCollection_

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

Definition at line 130 of file L1TTauOffline.h.

Referenced by analyze().

◆ triggerEvent_

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

Definition at line 146 of file L1TTauOffline.h.

Referenced by analyze().

◆ triggerPath_

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

Definition at line 149 of file L1TTauOffline.h.

Referenced by bookHistograms().

◆ triggerResults_

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

Definition at line 148 of file L1TTauOffline.h.

Referenced by analyze().

◆ trigProcess_

std::string L1TTauOffline::trigProcess_
private

Definition at line 147 of file L1TTauOffline.h.

Referenced by dqmBeginRun(), and matchHlt().

◆ VtxInputTag_

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

Definition at line 144 of file L1TTauOffline.h.

Referenced by analyze().