ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/DGele/PhysicsTools/PatAlgos/plugins/PATTauProducer.h
Revision: 1.1.1.1 (vendor branch)
Committed: Tue Oct 20 17:15:14 2009 UTC (15 years, 6 months ago) by dgele
Content type: text/plain
Branch: ANA
CVS Tags: start
Changes since 1.1: +0 -0 lines
Error occurred while calculating annotation data.
Log Message:
version CMSSW_2_2_10

File Contents

# Content
1 //
2 // $Id: PATTauProducer.h,v 1.13.2.3 2009/04/30 09:11:46 gpetrucc Exp $
3 //
4
5 #ifndef PhysicsTools_PatAlgos_PATTauProducer_h
6 #define PhysicsTools_PatAlgos_PATTauProducer_h
7
8 /**
9 \class pat::PATTauProducer PATTauProducer.h "PhysicsTools/PatAlgos/interface/PATTauProducer.h"
10 \brief Produces pat::Tau's
11
12 The PATTauProducer produces analysis-level pat::Tau's starting from
13 a collection of objects of TauType.
14
15 \author Steven Lowette, Christophe Delaere
16 \version $Id: PATTauProducer.h,v 1.13.2.3 2009/04/30 09:11:46 gpetrucc Exp $
17 */
18
19
20 #include "FWCore/Framework/interface/EDProducer.h"
21 #include "FWCore/Framework/interface/Event.h"
22 #include "FWCore/ParameterSet/interface/ParameterSet.h"
23 #include "FWCore/ParameterSet/interface/InputTag.h"
24
25 #include "DataFormats/Common/interface/Handle.h"
26
27 #include "PhysicsTools/Utilities/interface/PtComparator.h"
28
29 #include "PhysicsTools/PatAlgos/interface/MultiIsolator.h"
30 #include "PhysicsTools/PatAlgos/interface/EfficiencyLoader.h"
31 #include "PhysicsTools/PatAlgos/interface/KinResolutionsLoader.h"
32
33 #include "DataFormats/PatCandidates/interface/Tau.h"
34
35 #include "DataFormats/PatCandidates/interface/UserData.h"
36 #include "PhysicsTools/PatAlgos/interface/PATUserDataMerger.h"
37 #include "PhysicsTools/PatAlgos/interface/PATUserDataHelper.h"
38
39 #include "DataFormats/TauReco/interface/CaloTauDiscriminator.h"
40 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
41
42 #include <string>
43
44
45 namespace pat {
46
47 class PATTauProducer : public edm::EDProducer {
48
49 public:
50
51 explicit PATTauProducer(const edm::ParameterSet & iConfig);
52 ~PATTauProducer();
53
54 virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
55
56 private:
57
58 // configurables
59 edm::InputTag tauSrc_;
60 bool embedIsolationTracks_;
61 bool embedLeadTrack_;
62 bool embedSignalTracks_;
63
64 bool addGenMatch_;
65 bool embedGenMatch_;
66 std::vector<edm::InputTag> genMatchSrc_;
67
68 bool addGenJetMatch_;
69 bool embedGenJetMatch_;
70 edm::InputTag genJetMatchSrc_;
71 bool addTrigMatch_;
72 std::vector<edm::InputTag> trigMatchSrc_;
73 bool addTauID_;
74 typedef std::pair<std::string, edm::InputTag> NameTag;
75 std::vector<NameTag> tauIDSrcs_;
76
77 // tools
78 GreaterByPt<Tau> pTTauComparator_;
79
80 pat::helper::MultiIsolator isolator_;
81 pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_; // better here than recreate at each event
82 std::vector<std::pair<pat::IsolationKeys,edm::InputTag> > isoDepositLabels_;
83
84 bool addEfficiencies_;
85 pat::helper::EfficiencyLoader efficiencyLoader_;
86
87 bool addResolutions_;
88 pat::helper::KinResolutionsLoader resolutionLoader_;
89
90 bool useUserData_;
91 pat::PATUserDataHelper<pat::Tau> userDataHelper_;
92
93 template <typename TauCollectionType, typename TauDiscrType> float getTauIdDiscriminator(const edm::Handle<TauCollectionType>&, size_t, const edm::Handle<TauDiscrType>&);
94
95 bool addDecayMode_;
96 edm::InputTag decayModeSrc_;
97 };
98
99 }
100
101 #endif