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::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

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
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

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
 
void dqmEndRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
void endJob () 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 edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

void 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::PFTauDiscriminatorAntiEleInputTag_
 
edm::EDGetTokenT< reco::PFTauDiscriminatorAntiMuInputTag_
 
edm::EDGetTokenT< reco::BeamSpotBsInputTag_
 
edm::EDGetTokenT< reco::PFTauDiscriminatorcomb3TInputTag_
 
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_
 
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::EDGetTokenT< reco::MuonCollectionMuonInputTag_
 
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 edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 77 of file L1TTauOffline.h.

Member Enumeration Documentation

Enumerator
nVertex 
ETvsET 
PHIvsPHI 

Definition at line 82 of file L1TTauOffline.h.

Constructor & Destructor Documentation

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

Definition at line 45 of file L1TTauOffline.cc.

46  : theTauCollection_(consumes<reco::PFTauCollection>(ps.getUntrackedParameter<edm::InputTag>("tauInputTag"))),
47  AntiMuInputTag_(consumes<reco::PFTauDiscriminator>(ps.getUntrackedParameter<edm::InputTag>("antiMuInputTag"))),
48  AntiEleInputTag_(consumes<reco::PFTauDiscriminator>(ps.getUntrackedParameter<edm::InputTag>("antiEleInputTag"))),
50  consumes<reco::PFTauDiscriminator>(ps.getUntrackedParameter<edm::InputTag>("decayModeFindingInputTag"))),
51  comb3TInputTag_(consumes<reco::PFTauDiscriminator>(ps.getUntrackedParameter<edm::InputTag>("comb3TInputTag"))),
52  MuonInputTag_(consumes<reco::MuonCollection>(ps.getUntrackedParameter<edm::InputTag>("muonInputTag"))),
53  MetInputTag_(consumes<reco::PFMETCollection>(ps.getUntrackedParameter<edm::InputTag>("metInputTag"))),
54  VtxInputTag_(consumes<reco::VertexCollection>(ps.getUntrackedParameter<edm::InputTag>("vtxInputTag"))),
55  BsInputTag_(consumes<reco::BeamSpot>(ps.getUntrackedParameter<edm::InputTag>("bsInputTag"))),
56  triggerEvent_(consumes<trigger::TriggerEvent>(ps.getUntrackedParameter<edm::InputTag>("trigInputTag"))),
57  trigProcess_(ps.getUntrackedParameter<string>("trigProcess")),
58  triggerResults_(consumes<edm::TriggerResults>(ps.getUntrackedParameter<edm::InputTag>("trigProcess_token"))),
59  triggerPath_(ps.getUntrackedParameter<vector<std::string>>("triggerNames")),
60  histFolder_(ps.getParameter<std::string>("histFolder")),
61  efficiencyFolder_(histFolder_ + "/efficiency_raw"),
62  stage2CaloLayer2TauToken_(consumes<l1t::TauBxCollection>(ps.getUntrackedParameter<edm::InputTag>("l1tInputTag"))),
63  tauEfficiencyThresholds_(ps.getParameter<std::vector<int>>("tauEfficiencyThresholds")),
64  tauEfficiencyBins_(ps.getParameter<std::vector<double>>("tauEfficiencyBins")),
66  m_TightMuons(),
67  m_ProbeTaus(),
68  m_TauL1tPairs(),
69  m_RecoTaus(),
70  m_L1tTaus(),
72  m_L1tL1tTaus(),
73  m_L1tPtCuts(),
74  m_MaxTauEta(99999),
75  m_MaxL1tTauDR(99999),
76  m_MaxHltTauDR(99999),
77  m_trigIndices(),
78  h_nVertex_(),
106  edm::LogInfo("L1TTauOffline") << "Constructor "
107  << "L1TTauOffline::L1TTauOffline " << std::endl;
108 }
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::VertexCollection > VtxInputTag_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > triggerPath_
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_
edm::EDGetTokenT< reco::PFTauDiscriminator > comb3TInputTag_
static const std::map< std::string, unsigned int > PlotConfigNames
Definition: L1TTauOffline.h:84
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::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_
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_
edm::EDGetTokenT< reco::PFTauDiscriminator > AntiMuInputTag_
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_
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_
BXVector< l1t::Tau > m_L1tL1tTaus
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
edm::EDGetTokenT< reco::PFTauDiscriminator > AntiEleInputTag_
dqmoffline::l1t::HistDefinitions histDefinitions_
edm::EDGetTokenT< reco::PFTauCollection > theTauCollection_
MonitorElement * h_L1TauETvsTauET_EB_EE_
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 ( )
override

Definition at line 113 of file L1TTauOffline.cc.

113  {
114  edm::LogInfo("L1TTauOffline") << "Destructor L1TTauOffline::~L1TTauOffline " << std::endl;
115 }

Member Function Documentation

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

Reimplemented from DQMEDAnalyzer.

Definition at line 164 of file L1TTauOffline.cc.

References pwdgSkimBPark_cfi::beamSpot, BXVector< T >::begin(), BsInputTag_, counter, BXVector< T >::end(), PVValHelper::eta, dqm::impl::MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), 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, MuonInputTag_, PDWG_BPHSkim_cff::muons, phi, BeamMonitor_cff::primaryVertex, DiDispStaMuonMonitor_cfi::pt, BXVector< T >::size(), stage2CaloLayer2TauToken_, AlCaHLTBitMon_QueryRunRegistry::string, metsig::tau, tauEfficiencyThresholds_, Tau3MuMonitor_cff::taus, theTauCollection_, MessageLogger_cff::threshold, B2GTnPMonitor_cfi::trigEvent, triggerEvent_, triggerResults_, bphysicsOniaDQM_cfi::vertex, and VtxInputTag_.

164  {
165  m_MaxTauEta = 2.1;
166  m_MaxL1tTauDR = 0.5;
167  m_MaxHltTauDR = 0.5;
168 
170  e.getByToken(theTauCollection_, taus);
171 
172  if (!taus.isValid()) {
173  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauCollection " << std::endl;
174  return;
175  }
176 
178  e.getByToken(MuonInputTag_, muons);
179 
180  if (!muons.isValid()) {
181  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::MuonCollection " << std::endl;
182  return;
183  }
184 
186  e.getByToken(BsInputTag_, beamSpot);
187 
188  if (!beamSpot.isValid()) {
189  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::BeamSpot " << std::endl;
190  return;
191  }
192 
194  e.getByToken(VtxInputTag_, vertex);
195 
196  if (!vertex.isValid()) {
197  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::VertexCollection " << std::endl;
198  return;
199  }
200 
202  e.getByToken(stage2CaloLayer2TauToken_, l1tCands);
203 
204  if (!l1tCands.isValid()) {
205  edm::LogWarning("L1TTauOffline") << "invalid collection: l1t::TauBxCollection " << std::endl;
206  return;
207  }
208 
210  e.getByToken(triggerResults_, trigResults);
211 
212  if (!trigResults.isValid()) {
213  edm::LogWarning("L1TTauOffline") << "invalid collection: edm::TriggerResults " << std::endl;
214  return;
215  }
216 
218  e.getByToken(triggerEvent_, trigEvent);
219 
220  if (!trigEvent.isValid()) {
221  edm::LogWarning("L1TTauOffline") << "invalid collection: trigger::TriggerEvent " << std::endl;
222  return;
223  }
224 
226  e.getByToken(MetInputTag_, mets);
227 
228  if (!mets.isValid()) {
229  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFMETCollection " << std::endl;
230  return;
231  }
232 
233  eSetup.get<IdealMagneticFieldRecord>().get(m_BField);
234  const reco::Vertex primaryVertex = getPrimaryVertex(vertex, beamSpot);
235 
236  getTightMuons(muons, mets, primaryVertex, trigEvent);
237  getProbeTaus(e, taus, muons, primaryVertex);
238  getTauL1tPairs(l1tCands);
239 
240  vector<l1t::Tau> l1tContainer;
241  l1tContainer.reserve(l1tCands->size() + 1);
242 
243  for (auto tau = l1tCands->begin(0); tau != l1tCands->end(0); ++tau) {
244  l1tContainer.push_back(*tau);
245  }
246 
247  for (auto tauL1tPairsIt = m_TauL1tPairs.begin(); tauL1tPairsIt != m_TauL1tPairs.end(); ++tauL1tPairsIt) {
248  float eta = tauL1tPairsIt->eta();
249  float phi = tauL1tPairsIt->phi();
250  float pt = tauL1tPairsIt->pt();
251 
252  // unmatched gmt cands have l1tPt = -1.
253  float l1tPt = tauL1tPairsIt->l1tPt();
254 
255  int counter = 0;
256 
257  for (auto threshold : tauEfficiencyThresholds_) {
258  std::string str_threshold = std::to_string(threshold);
259 
260  int l1tPtCut = threshold;
261  bool l1tAboveCut = (l1tPt >= l1tPtCut);
262 
263  stringstream ptCutToTag;
264  ptCutToTag << l1tPtCut;
265  string ptTag = ptCutToTag.str();
266 
267  if (fabs(eta) < m_MaxTauEta) {
268  if (counter == 0) {
269  if (fabs(eta) < 1.5) {
270  h_L1TauETvsTauET_EB_->Fill(pt, l1tPt);
271  h_L1TauPhivsTauPhi_EB_->Fill(phi, tauL1tPairsIt->l1tPhi());
272  h_resolutionTauET_EB_->Fill((l1tPt - pt) / pt);
273  h_resolutionTauPhi_EB_->Fill(tauL1tPairsIt->l1tPhi() - phi);
274  } else {
275  h_L1TauETvsTauET_EE_->Fill(pt, l1tPt);
276  h_L1TauPhivsTauPhi_EE_->Fill(phi, tauL1tPairsIt->l1tPhi());
277  h_resolutionTauET_EE_->Fill((l1tPt - pt) / pt);
278  h_resolutionTauPhi_EE_->Fill(tauL1tPairsIt->l1tPhi() - phi);
279  }
280  h_L1TauETvsTauET_EB_EE_->Fill(pt, l1tPt);
281  h_L1TauPhivsTauPhi_EB_EE_->Fill(phi, tauL1tPairsIt->l1tPhi());
282  h_L1TauEtavsTauEta_->Fill(eta, tauL1tPairsIt->l1tEta());
283  h_resolutionTauET_EB_EE_->Fill((l1tPt - pt) / pt);
284  h_resolutionTauPhi_EB_EE_->Fill(tauL1tPairsIt->l1tPhi() - phi);
285  h_resolutionTauEta_->Fill(tauL1tPairsIt->l1tEta() - eta);
286 
287  ++counter;
288  }
289 
290  if (fabs(eta) < 1.5) {
293  } else {
296  }
299 
300  if (l1tAboveCut) {
301  if (fabs(eta) < 1.5)
303  else
306 
307  if (tauL1tPairsIt->l1tIso() > 0.5) {
308  if (fabs(eta) < 1.5)
310  else
313  }
314  }
315  }
316  }
317  } // loop over tau-L1 pairs
318 }
const_iterator end(int bx) const
edm::EDGetTokenT< reco::VertexCollection > VtxInputTag_
unsigned size(int bx) const
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_
static std::atomic< unsigned int > counter
edm::EDGetTokenT< reco::PFTauCollection > theTauCollection_
MonitorElement * h_L1TauETvsTauET_EB_EE_
MonitorElement * h_L1TauETvsTauET_EE_
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)
const_iterator begin(int bx) const
MonitorElement * h_resolutionTauET_EB_
primaryVertex
hltOfflineBeamSpot for HLTMON
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 132 of file L1TTauOffline.cc.

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

132  {
133  edm::LogInfo("L1TTauOffline") << "L1TTauOffline::bookHistograms" << std::endl;
134 
135  // book at beginRun
136  bookTauHistos(ibooker);
137 
138  for (auto trigNamesIt = triggerPath_.begin(); trigNamesIt != triggerPath_.end(); trigNamesIt++) {
139  std::string tNameTmp = (*trigNamesIt);
140  std::string tNamePattern = "";
141  std::size_t found0 = tNameTmp.find("*");
142  if (found0 != std::string::npos)
143  tNamePattern = tNameTmp.substr(0, tNameTmp.size() - 1);
144  else
145  tNamePattern = tNameTmp;
146 
147  int tIndex = -1;
148 
149  for (unsigned ipath = 0; ipath < m_hltConfig.size(); ++ipath) {
150  std::string tmpName = m_hltConfig.triggerName(ipath);
151 
152  std::size_t found = tmpName.find(tNamePattern);
153  if (found != std::string::npos) {
154  tIndex = int(ipath);
155  m_trigIndices.push_back(tIndex);
156  }
157  }
158  }
159 }
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
void L1TTauOffline::bookTauHistos ( DQMStore::IBooker ibooker)
private

Definition at line 330 of file L1TTauOffline.cc.

References dqmoffline::l1t::HistDefinition::binsX, dqmoffline::l1t::HistDefinition::binsY, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::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::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tauEfficiencyBins_, tauEfficiencyThresholds_, MessageLogger_cff::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().

330  {
331  ibooker.cd();
332  ibooker.setCurrentFolder(histFolder_);
334  h_nVertex_ = ibooker.book1D(nVertexDef.name, nVertexDef.title, nVertexDef.nbinsX, nVertexDef.xmin, nVertexDef.xmax);
335  h_tagAndProbeMass_ = ibooker.book1D("tagAndProbeMass", "Invariant mass of tag & probe pair", 100, 40, 140);
336 
338  h_L1TauETvsTauET_EB_ = ibooker.book2D("L1TauETvsTauET_EB",
339  "L1 Tau E_{T} vs PFTau E_{T} (EB); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
340  templateETvsET.nbinsX,
341  &templateETvsET.binsX[0],
342  templateETvsET.nbinsY,
343  &templateETvsET.binsY[0]);
344  h_L1TauETvsTauET_EE_ = ibooker.book2D("L1TauETvsTauET_EE",
345  "L1 Tau E_{T} vs PFTau E_{T} (EE); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
346  templateETvsET.nbinsX,
347  &templateETvsET.binsX[0],
348  templateETvsET.nbinsY,
349  &templateETvsET.binsY[0]);
350  h_L1TauETvsTauET_EB_EE_ = ibooker.book2D("L1TauETvsTauET_EB_EE",
351  "L1 Tau E_{T} vs PFTau E_{T} (EB+EE); PFTau E_{T} (GeV); L1 Tau E_{T} (GeV)",
352  templateETvsET.nbinsX,
353  &templateETvsET.binsX[0],
354  templateETvsET.nbinsY,
355  &templateETvsET.binsY[0]);
356 
359  ibooker.book2D("L1TauPhivsTauPhi_EB",
360  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EB); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
361  templatePHIvsPHI.nbinsX,
362  templatePHIvsPHI.xmin,
363  templatePHIvsPHI.xmax,
364  templatePHIvsPHI.nbinsY,
365  templatePHIvsPHI.ymin,
366  templatePHIvsPHI.ymax);
368  ibooker.book2D("L1TauPhivsTauPhi_EE",
369  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EE); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
370  templatePHIvsPHI.nbinsX,
371  templatePHIvsPHI.xmin,
372  templatePHIvsPHI.xmax,
373  templatePHIvsPHI.nbinsY,
374  templatePHIvsPHI.ymin,
375  templatePHIvsPHI.ymax);
377  ibooker.book2D("L1TauPhivsTauPhi_EB_EE",
378  "#phi_{tau}^{L1} vs #phi_{tau}^{offline} (EB+EE); #phi_{tau}^{offline}; #phi_{tau}^{L1}",
379  templatePHIvsPHI.nbinsX,
380  templatePHIvsPHI.xmin,
381  templatePHIvsPHI.xmax,
382  templatePHIvsPHI.nbinsY,
383  templatePHIvsPHI.ymin,
384  templatePHIvsPHI.ymax);
385 
387  ibooker.book2D("L1TauEtavsTauEta", "L1 Tau #eta vs PFTau #eta; PFTau #eta; L1 Tau #eta", 100, -3, 3, 100, -3, 3);
388 
389  // tau resolutions
390  h_resolutionTauET_EB_ = ibooker.book1D(
391  "resolutionTauET_EB", "tau ET resolution (EB); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events", 50, -1, 1.5);
392  h_resolutionTauET_EE_ = ibooker.book1D(
393  "resolutionTauET_EE", "tau ET resolution (EE); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events", 50, -1, 1.5);
395  ibooker.book1D("resolutionTauET_EB_EE",
396  "tau ET resolution (EB+EE); (L1 Tau E_{T} - PFTau E_{T})/PFTau E_{T}; events",
397  50,
398  -1,
399  1.5);
400 
401  h_resolutionTauPhi_EB_ = ibooker.book1D("resolutionTauPhi_EB",
402  "#phi_{tau} resolution (EB); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events",
403  120,
404  -0.3,
405  0.3);
406  h_resolutionTauPhi_EE_ = ibooker.book1D(
407  "resolutionTauPhi_EE", "tau #phi resolution (EE); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events", 120, -0.3, 0.3);
409  ibooker.book1D("resolutionTauPhi_EB_EE",
410  "tau #phi resolution (EB+EE); #phi_{tau}^{L1} - #phi_{tau}^{offline}; events",
411  120,
412  -0.3,
413  0.3);
414 
416  ibooker.book1D("resolutionTauEta", "tau #eta resolution (EB); L1 Tau #eta - PFTau #eta; events", 120, -0.3, 0.3);
417 
418  // tau turn-ons
419  ibooker.setCurrentFolder(efficiencyFolder_);
420  std::vector<float> tauBins(tauEfficiencyBins_.begin(), tauEfficiencyBins_.end());
421  int nBins = tauBins.size() - 1;
422  float* tauBinArray = &(tauBins[0]);
423 
424  for (auto threshold : tauEfficiencyThresholds_) {
425  std::string str_threshold = std::to_string(int(threshold));
427  ibooker.book1D("efficiencyIsoTauET_EB_threshold_" + str_threshold + "_Num",
428  "iso tau efficiency (EB); PFTau E_{T} (GeV); events",
429  nBins,
430  tauBinArray);
432  ibooker.book1D("efficiencyIsoTauET_EE_threshold_" + str_threshold + "_Num",
433  "iso tau efficiency (EE); PFTau E_{T} (GeV); events",
434  nBins,
435  tauBinArray);
437  ibooker.book1D("efficiencyIsoTauET_EB_EE_threshold_" + str_threshold + "_Num",
438  "iso tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
439  nBins,
440  tauBinArray);
441 
443  ibooker.book1D("efficiencyIsoTauET_EB_threshold_" + str_threshold + "_Den",
444  "iso tau efficiency (EB); PFTau E_{T} (GeV); events",
445  nBins,
446  tauBinArray);
448  ibooker.book1D("efficiencyIsoTauET_EE_threshold_" + str_threshold + "_Den",
449  "iso tau efficiency (EE); PFTau E_{T} (GeV); events",
450  nBins,
451  tauBinArray);
453  ibooker.book1D("efficiencyIsoTauET_EB_EE_threshold_" + str_threshold + "_Den",
454  "iso tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
455  nBins,
456  tauBinArray);
457 
458  // non iso
460  ibooker.book1D("efficiencyNonIsoTauET_EB_threshold_" + str_threshold + "_Num",
461  "inclusive tau efficiency (EB); PFTau E_{T} (GeV); events",
462  nBins,
463  tauBinArray);
465  ibooker.book1D("efficiencyNonIsoTauET_EE_threshold_" + str_threshold + "_Num",
466  "inclusive tau efficiency (EE); PFTau E_{T} (GeV); events",
467  nBins,
468  tauBinArray);
470  ibooker.book1D("efficiencyNonIsoTauET_EB_EE_threshold_" + str_threshold + "_Num",
471  "inclusive tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
472  nBins,
473  tauBinArray);
474 
476  ibooker.book1D("efficiencyNonIsoTauET_EB_threshold_" + str_threshold + "_Den",
477  "inclusive tau efficiency (EB); PFTau E_{T} (GeV); events",
478  nBins,
479  tauBinArray);
481  ibooker.book1D("efficiencyNonIsoTauET_EE_threshold_" + str_threshold + "_Den",
482  "inclusive tau efficiency (EE); PFTau E_{T} (GeV); events",
483  nBins,
484  tauBinArray);
486  ibooker.book1D("efficiencyNonIsoTauET_EB_EE_threshold_" + str_threshold + "_Den",
487  "inclusive tau efficiency (EB+EE); PFTau E_{T} (GeV); events",
488  nBins,
489  tauBinArray);
490  }
491 
492  ibooker.cd();
493 
494  return;
495 }
std::vector< float > binsX
std::map< double, MonitorElement * > h_efficiencyIsoTauET_EB_pass_
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_
dqmoffline::l1t::HistDefinitions histDefinitions_
MonitorElement * h_L1TauETvsTauET_EB_EE_
MonitorElement * h_L1TauETvsTauET_EE_
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 
)
overrideprotected

Definition at line 120 of file L1TTauOffline.cc.

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

122 {
123  bool changed = true;
124  m_hltConfig.init(run, iSetup, trigProcess_, changed);
125 
126  edm::LogInfo("L1TTauOffline") << "L1TTauOffline::beginRun" << std::endl;
127 }
HLTConfigProvider m_hltConfig
std::string trigProcess_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
void L1TTauOffline::dqmEndRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 323 of file L1TTauOffline.cc.

323  {
324  edm::LogInfo("L1TTauOffline") << "L1TTauOffline::endRun" << std::endl;
325 }
void L1TTauOffline::endJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 677 of file L1TTauOffline.cc.

References normalise2DHistogramsToBinArea().

const reco::Vertex L1TTauOffline::getPrimaryVertex ( edm::Handle< reco::VertexCollection > const &  vertex,
edm::Handle< reco::BeamSpot > const &  beamSpot 
)
protected

Definition at line 497 of file L1TTauOffline.cc.

References reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), edm::HandleBase::isValid(), reco::BeamSpot::position(), reco::Vertex::position(), BeamMonitor_cff::primaryVertex, and reco::BeamSpot::sigmaZ().

Referenced by analyze().

498  {
499  reco::Vertex::Point posVtx;
500  reco::Vertex::Error errVtx;
501 
502  bool hasPrimaryVertex = false;
503 
504  if (vertex.isValid()) {
505  for (auto vertexIt = vertex->begin(); vertexIt != vertex->end(); ++vertexIt) {
506  if (vertexIt->isValid() && !vertexIt->isFake()) {
507  posVtx = vertexIt->position();
508  errVtx = vertexIt->error();
509  hasPrimaryVertex = true;
510  break;
511  }
512  }
513  }
514 
515  if (!hasPrimaryVertex) {
516  posVtx = beamSpot->position();
517  errVtx(0, 0) = beamSpot->BeamWidthX();
518  errVtx(1, 1) = beamSpot->BeamWidthY();
519  errVtx(2, 2) = beamSpot->sigmaZ();
520  }
521 
522  const reco::Vertex primaryVertex(posVtx, errVtx);
523 
524  return primaryVertex;
525 }
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:43
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:82
bool isValid() const
Definition: HandleBase.h:70
double sigmaZ() const
sigma z
Definition: BeamSpot.h:76
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:84
const Point & position() const
position
Definition: BeamSpot.h:59
primaryVertex
hltOfflineBeamSpot for HLTMON
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 624 of file L1TTauOffline.cc.

References AntiEleInputTag_, AntiMuInputTag_, comb3TInputTag_, DecayModeFindingInputTag_, HCALHighEnergyHPDFilter_cfi::energy, PVValHelper::eta, edm::Event::getByToken(), edm::HandleBase::isValid(), m_ProbeTaus, m_TightMuons, phi, and DiDispStaMuonMonitor_cfi::pt.

Referenced by analyze().

627  {
628  m_ProbeTaus.clear();
629 
631  iEvent.getByToken(AntiMuInputTag_, antimu);
632  if (!antimu.isValid()) {
633  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
634  return;
635  }
636 
638  iEvent.getByToken(DecayModeFindingInputTag_, dmf);
639  if (!dmf.isValid()) {
640  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
641  return;
642  }
643 
645  iEvent.getByToken(AntiEleInputTag_, antiele);
646  if (!antiele.isValid()) {
647  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
648  return;
649  }
650 
652  iEvent.getByToken(comb3TInputTag_, comb3T);
653  if (!comb3T.isValid()) {
654  edm::LogWarning("L1TTauOffline") << "invalid collection: reco::PFTauDiscriminator " << std::endl;
655  return;
656  }
657 
658  if (!m_TightMuons.empty()) {
659  TLorentzVector mymu;
660  mymu.SetPtEtaPhiE(m_TightMuons[0]->pt(), m_TightMuons[0]->eta(), m_TightMuons[0]->phi(), m_TightMuons[0]->energy());
661  int iTau = 0;
662  for (auto tauIt = taus->begin(); tauIt != taus->end(); ++tauIt, ++iTau) {
663  reco::PFTauRef tauCandidate(taus, iTau);
664  TLorentzVector mytau;
665  mytau.SetPtEtaPhiE(tauIt->pt(), tauIt->eta(), tauIt->phi(), tauIt->energy());
666 
667  if (fabs(tauIt->charge()) == 1 && fabs(tauIt->eta()) < 2.1 && tauIt->pt() > 20 && (*antimu)[tauCandidate] > 0.5 &&
668  (*antiele)[tauCandidate] > 0.5 && (*dmf)[tauCandidate] > 0.5 && (*comb3T)[tauCandidate] > 0.5) {
669  if (mymu.DeltaR(mytau) > 0.5 && (mymu + mytau).M() > 40 && (mymu + mytau).M() < 80 &&
670  m_TightMuons[0]->charge() * tauIt->charge() < 0) {
671  m_ProbeTaus.push_back(&(*tauIt));
672  }
673  }
674  }
675  }
676 }
edm::EDGetTokenT< reco::PFTauDiscriminator > comb3TInputTag_
std::vector< const reco::PFTau * > m_ProbeTaus
int iEvent
Definition: GenABIO.cc:224
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< reco::PFTauDiscriminator > AntiMuInputTag_
std::vector< const reco::Muon * > m_TightMuons
edm::EDGetTokenT< reco::PFTauDiscriminator > DecayModeFindingInputTag_
edm::EDGetTokenT< reco::PFTauDiscriminator > AntiEleInputTag_
void L1TTauOffline::getTauL1tPairs ( edm::Handle< l1t::TauBxCollection > const &  l1tCands)
protected

Definition at line 556 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().

556  {
557  m_TauL1tPairs.clear();
558 
559  vector<l1t::Tau> l1tContainer;
560  l1tContainer.reserve(l1tCands->size() + 1);
561 
562  for (auto tau = l1tCands->begin(0); tau != l1tCands->end(0); ++tau) {
563  l1tContainer.push_back(*tau);
564  }
565 
566  for (auto probeTauIt = m_ProbeTaus.begin(); probeTauIt != m_ProbeTaus.end(); ++probeTauIt) {
567  TauL1TPair pairBestCand((*probeTauIt), nullptr);
568 
569  for (auto l1tIt = l1tContainer.begin(); l1tIt != l1tContainer.end(); ++l1tIt) {
570  TauL1TPair pairTmpCand((*probeTauIt), &(*l1tIt));
571 
572  if (pairTmpCand.dR() < m_MaxL1tTauDR && pairTmpCand.l1tPt() > pairBestCand.l1tPt())
573  pairBestCand = pairTmpCand;
574  }
575 
576  m_TauL1tPairs.push_back(pairBestCand);
577  }
578 }
const_iterator end(int bx) const
unsigned size(int bx) const
std::vector< TauL1TPair > m_TauL1tPairs
std::vector< const reco::PFTau * > m_ProbeTaus
const_iterator begin(int bx) const
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 580 of file L1TTauOffline.cc.

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

Referenced by analyze().

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

Definition at line 527 of file L1TTauOffline.cc.

References PbPb_ZMuSkimMuonDPG_cff::deltaR, trigger::TriggerEvent::filterIds(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::getObjects(), HLT_2018_cff::InputTag, m_hltConfig, m_MaxHltTauDR, m_trigIndices, HLTConfigProvider::moduleLabels(), HLTConfigProvider::size(), TriggerAnalyzer::trigObjs, and trigProcess_.

Referenced by getTightMuons().

527  {
528  double matchDeltaR = 9999;
529 
531 
532  for (auto trigIndexIt = m_trigIndices.begin(); trigIndexIt != m_trigIndices.end(); ++trigIndexIt) {
533  const vector<string> moduleLabels(m_hltConfig.moduleLabels(*trigIndexIt));
534  const unsigned moduleIndex = m_hltConfig.size((*trigIndexIt)) - 2;
535 
536  const unsigned hltFilterIndex = triggerEvent->filterIndex(InputTag(moduleLabels[moduleIndex], "", trigProcess_));
537 
538  if (hltFilterIndex < triggerEvent->sizeFilters()) {
539  const Keys triggerKeys(triggerEvent->filterKeys(hltFilterIndex));
540  const Vids triggerVids(triggerEvent->filterIds(hltFilterIndex));
541 
542  const unsigned nTriggers = triggerVids.size();
543  for (size_t iTrig = 0; iTrig < nTriggers; ++iTrig) {
544  const TriggerObject trigObject = trigObjs[triggerKeys[iTrig]];
545 
546  double dRtmp = deltaR((*muon), trigObject);
547  if (dRtmp < matchDeltaR)
548  matchDeltaR = dRtmp;
549  }
550  }
551  }
552 
553  return (matchDeltaR < m_MaxHltTauDR);
554 }
unsigned int size() const
number of trigger paths in trigger table
std::vector< int > m_trigIndices
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
HLTConfigProvider m_hltConfig
const Vids & filterIds(trigger::size_type index) const
Definition: TriggerEvent.h:117
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
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 679 of file L1TTauOffline.cc.

References DEFINE_FWK_MODULE, 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.

Referenced by endJob().

679  {
680  std::vector<MonitorElement*> monElementstoNormalize = {h_L1TauETvsTauET_EB_,
687 
688  for (auto mon : monElementstoNormalize) {
689  if (mon != nullptr) {
690  auto h = mon->getTH2F();
691  if (h != nullptr) {
692  h->Scale(1, "width");
693  }
694  }
695  }
696 }
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
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_
MonitorElement * h_L1TauETvsTauET_EB_

Member Data Documentation

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

Definition at line 130 of file L1TTauOffline.h.

Referenced by getProbeTaus().

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

Definition at line 129 of file L1TTauOffline.h.

Referenced by getProbeTaus().

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

Definition at line 136 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 132 of file L1TTauOffline.h.

Referenced by getProbeTaus().

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

Definition at line 131 of file L1TTauOffline.h.

Referenced by getProbeTaus().

std::string L1TTauOffline::efficiencyFolder_
private

Definition at line 142 of file L1TTauOffline.h.

Referenced by bookTauHistos().

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

Definition at line 195 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 205 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 193 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 203 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 194 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 204 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 199 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 209 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 197 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 207 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 198 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 208 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_L1TauEtavsTauEta_
private

Definition at line 179 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_
private

Definition at line 171 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EB_EE_
private

Definition at line 173 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauETvsTauET_EE_
private

Definition at line 172 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_
private

Definition at line 175 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EB_EE_
private

Definition at line 177 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_L1TauPhivsTauPhi_EE_
private

Definition at line 176 of file L1TTauOffline.h.

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

MonitorElement* L1TTauOffline::h_nVertex_
private

Definition at line 167 of file L1TTauOffline.h.

Referenced by bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_
private

Definition at line 182 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EB_EE_
private

Definition at line 184 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauET_EE_
private

Definition at line 183 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauEta_
private

Definition at line 190 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_
private

Definition at line 186 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EB_EE_
private

Definition at line 188 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_resolutionTauPhi_EE_
private

Definition at line 187 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

MonitorElement* L1TTauOffline::h_tagAndProbeMass_
private

Definition at line 168 of file L1TTauOffline.h.

Referenced by bookTauHistos().

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

Definition at line 146 of file L1TTauOffline.h.

Referenced by bookTauHistos().

std::string L1TTauOffline::histFolder_
private

Definition at line 141 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 155 of file L1TTauOffline.h.

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

Definition at line 158 of file L1TTauOffline.h.

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

Definition at line 153 of file L1TTauOffline.h.

float L1TTauOffline::m_MaxHltTauDR
private

Definition at line 162 of file L1TTauOffline.h.

Referenced by analyze(), and matchHlt().

float L1TTauOffline::m_MaxL1tTauDR
private

Definition at line 161 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

float L1TTauOffline::m_MaxTauEta
private

Definition at line 160 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 149 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 154 of file L1TTauOffline.h.

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

Definition at line 152 of file L1TTauOffline.h.

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

Definition at line 150 of file L1TTauOffline.h.

Referenced by analyze(), and getTauL1tPairs().

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

Definition at line 148 of file L1TTauOffline.h.

Referenced by getProbeTaus(), and getTightMuons().

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

Definition at line 164 of file L1TTauOffline.h.

Referenced by bookHistograms(), and matchHlt().

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

Definition at line 134 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 133 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 84 of file L1TTauOffline.h.

Referenced by TauL1TPair::dR().

math::XYZPoint L1TTauOffline::PVPoint_
private

Definition at line 119 of file L1TTauOffline.h.

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

Definition at line 143 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 145 of file L1TTauOffline.h.

Referenced by bookTauHistos().

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

Definition at line 144 of file L1TTauOffline.h.

Referenced by analyze(), and bookTauHistos().

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

Definition at line 128 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 137 of file L1TTauOffline.h.

Referenced by analyze().

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

Definition at line 140 of file L1TTauOffline.h.

Referenced by bookHistograms().

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

Definition at line 139 of file L1TTauOffline.h.

Referenced by analyze().

std::string L1TTauOffline::trigProcess_
private

Definition at line 138 of file L1TTauOffline.h.

Referenced by dqmBeginRun(), and matchHlt().

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

Definition at line 135 of file L1TTauOffline.h.

Referenced by analyze().