ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/DGele/PhysicsTools/PatAlgos/plugins/PATGenericParticleProducer.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
Log Message:
version CMSSW_2_2_10

File Contents

# User Rev Content
1 dgele 1.1 //
2     // $Id: PATGenericParticleProducer.h,v 1.6.4.2 2009/04/30 09:11:46 gpetrucc Exp $
3     //
4    
5     #ifndef PhysicsTools_PatAlgos_PATGenericParticleProducer_h
6     #define PhysicsTools_PatAlgos_PATGenericParticleProducer_h
7    
8     /**
9     \class pat::PATGenericParticleProducer PATGenericParticleProducer.h "PhysicsTools/PatAlgos/interface/PATGenericParticleProducer.h"
10     \brief Produces the pat::GenericParticle
11    
12     The PATGenericParticleProducer produces the analysis-level pat::GenericParticle starting from
13     any collection of Candidates
14    
15     \author Giovanni Petrucciani
16     \version $Id: PATGenericParticleProducer.h,v 1.6.4.2 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    
24     #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
25     #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
26     #include "DataFormats/Common/interface/Association.h"
27     #include "DataFormats/Common/interface/ValueMap.h"
28    
29     #include "PhysicsTools/Utilities/interface/EtComparator.h"
30    
31     #include "DataFormats/PatCandidates/interface/GenericParticle.h"
32    
33     #include "PhysicsTools/PatAlgos/interface/MultiIsolator.h"
34     #include "PhysicsTools/PatAlgos/interface/EfficiencyLoader.h"
35     #include "PhysicsTools/PatAlgos/interface/KinResolutionsLoader.h"
36     #include "PhysicsTools/PatAlgos/interface/VertexingHelper.h"
37    
38     #include "DataFormats/PatCandidates/interface/UserData.h"
39     #include "PhysicsTools/PatAlgos/interface/PATUserDataHelper.h"
40    
41     namespace pat {
42    
43     class PATGenericParticleProducer : public edm::EDProducer {
44    
45     public:
46    
47     explicit PATGenericParticleProducer(const edm::ParameterSet & iConfig);
48     ~PATGenericParticleProducer();
49    
50     virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
51    
52     private:
53    
54     // configurables
55     edm::InputTag src_;
56    
57     // embed RECo objects
58     bool embedSuperCluster_, embedTrack_, embedTracks_, embedGsfTrack_, embedCaloTower_, embedStandalone_, embedCombined_;
59    
60     bool addQuality_;
61     edm::InputTag qualitySrc_;
62    
63     bool addGenMatch_;
64     bool embedGenMatch_;
65     std::vector<edm::InputTag> genMatchSrc_;
66    
67     bool addTrigMatch_;
68     std::vector<edm::InputTag> trigPrimSrc_;
69    
70     // tools
71     GreaterByEt<GenericParticle> eTComparator_;
72    
73     pat::helper::MultiIsolator isolator_;
74     pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_; // better here than recreate at each event
75     std::vector<std::pair<pat::IsolationKeys,edm::InputTag> > isoDepositLabels_;
76    
77     bool addEfficiencies_;
78     pat::helper::EfficiencyLoader efficiencyLoader_;
79    
80     bool addResolutions_;
81     pat::helper::KinResolutionsLoader resolutionLoader_;
82    
83     pat::helper::VertexingHelper vertexingHelper_;
84    
85     bool useUserData_;
86     pat::PATUserDataHelper<pat::GenericParticle> userDataHelper_;
87    
88     };
89    
90    
91     }
92    
93     #endif