CMS 3D CMS Logo

PATTauProducer.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef PhysicsTools_PatAlgos_PATTauProducer_h
5 #define PhysicsTools_PatAlgos_PATTauProducer_h
6 
22 
24 
26 
30 
32 
35 
40 
41 #include <string>
42 
44 namespace pat {
45 
47 
48  public:
49 
50  explicit PATTauProducer(const edm::ParameterSet & iConfig);
51  ~PATTauProducer() override;
52 
53  void produce(edm::Event & iEvent, const edm::EventSetup& iSetup) override;
54 
55  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
56 
57  private:
58  bool firstOccurence_; // used to print LogWarnings only at first occurnece in the event loop
59 
60  // configurables
80 
83  std::vector<edm::EDGetTokenT<edm::Association<reco::GenParticleCollection> > > genMatchTokens_;
84 
88 
90  std::vector<edm::EDGetTokenT<edm::ValueMap<TauJetCorrFactors> > > tauJetCorrFactorsTokens_;
91 
92  bool addTauID_;
93  typedef std::pair<std::string, edm::InputTag> NameTag;
94  std::vector<NameTag> tauIDSrcs_;
95  std::vector<edm::EDGetTokenT<reco::CaloTauDiscriminator> > caloTauIDTokens_;
96  std::vector<edm::EDGetTokenT<reco::PFTauDiscriminator> > pfTauIDTokens_;
98  // tools
100 
102  pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_; // better here than recreate at each event
103  std::vector<std::pair<pat::IsolationKeys,edm::InputTag> > isoDepositLabels_;
104  std::vector<edm::EDGetTokenT<edm::ValueMap<IsoDeposit> > > isoDepositTokens_;
105 
108 
111 
114 
115  template <typename TauCollectionType, typename TauDiscrType> float getTauIdDiscriminator(const edm::Handle<TauCollectionType>&, size_t, const edm::Handle<TauDiscrType>&);
116  };
117 
118 }
119 
120 #endif
~PATTauProducer() override
Assists in assimilating all pat::UserData into pat objects.
std::pair< std::string, edm::InputTag > NameTag
std::vector< edm::EDGetTokenT< edm::ValueMap< IsoDeposit > > > isoDepositTokens_
pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_
pat::helper::EfficiencyLoader efficiencyLoader_
pat::helper::KinResolutionsLoader resolutionLoader_
float getTauIdDiscriminator(const edm::Handle< TauCollectionType > &, size_t, const edm::Handle< TauDiscrType > &)
bool embedIsolationPFChargedHadrCands_
Definition: HeavyIon.h:7
int iEvent
Definition: GenABIO.cc:230
edm::EDGetTokenT< PFTauTIPAssociationByRef > tauTransverseImpactParameterToken_
pat::helper::MultiIsolator isolator_
edm::EDGetTokenT< edm::View< reco::BaseTau > > baseTauToken_
bool embedIsolationPFNeutralHadrCands_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< reco::CaloTauCollection > caloTauToken_
pat::PATUserDataHelper< pat::Tau > userDataHelper_
bool embedSignalPFNeutralHadrCands_
edm::AssociationVector< reco::PFTauRefProd, std::vector< reco::PFTauTransverseImpactParameterRef > > PFTauTIPAssociationByRef
std::vector< edm::EDGetTokenT< reco::CaloTauDiscriminator > > caloTauIDTokens_
std::vector< edm::EDGetTokenT< edm::ValueMap< TauJetCorrFactors > > > tauJetCorrFactorsTokens_
edm::InputTag tauTransverseImpactParameterSrc_
std::vector< edm::EDGetTokenT< edm::Association< reco::GenParticleCollection > > > genMatchTokens_
edm::EDGetTokenT< edm::Association< reco::GenJetCollection > > genJetMatchToken_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< std::pair< pat::IsolationKeys, float > > IsolationValuePairs
Definition: MultiIsolator.h:16
PATTauProducer(const edm::ParameterSet &iConfig)
std::vector< std::pair< pat::IsolationKeys, edm::InputTag > > isoDepositLabels_
bool embedSignalPFChargedHadrCands_
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > pfTauIDTokens_
std::vector< NameTag > tauIDSrcs_
edm::EDGetTokenT< reco::PFTauCollection > pfTauToken_
GreaterByPt< Tau > pTTauComparator_
Produces pat::Tau&#39;s.