CMS 3D CMS Logo

PuppiProducer.h
Go to the documentation of this file.
1 #ifndef CommonTools_Puppi_PuppiProducer_h_
2 #define CommonTools_Puppi_PuppiProducer_h_
3 // system include files
4 #include <memory>
5 
6 // user include files
20 
21 // ------------------------------------------------------------------------------------------
23 
24 public:
25  explicit PuppiProducer(const edm::ParameterSet&);
26  ~PuppiProducer() override;
27 
28  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
30  typedef std::vector<LorentzVector> LorentzVectorCollection;
33  typedef std::vector< reco::PFCandidate > PFInputCollection;
34  typedef std::vector< reco::PFCandidate > PFOutputCollection;
35  typedef std::vector< pat::PackedCandidate > PackedOutputCollection;
37 
38 private:
39  virtual void beginJob() ;
40  void produce(edm::Event&, const edm::EventSetup&) override;
41  virtual void endJob() ;
42 
50  bool fUseDZ;
51  float fDZCut;
52  float fPtMax;
57  double fVtxZCut;
58  std::unique_ptr<PuppiContainer> fPuppiContainer;
59  std::vector<RecoObj> fRecoObjCollection;
60  std::unique_ptr< PFOutputCollection > fPuppiCandidates;
61  std::unique_ptr< PackedOutputCollection > fPackedPuppiCandidates;
62 };
63 #endif
std::string fPFName
Definition: PuppiProducer.h:46
virtual void endJob()
bool fUseWeightsNoLep
Definition: PuppiProducer.h:54
std::vector< reco::PFCandidate > PFOutputCollection
Definition: PuppiProducer.h:34
bool fPuppiDiagnostics
Definition: PuppiProducer.h:48
std::vector< pat::PackedCandidate > PackedOutputCollection
Definition: PuppiProducer.h:35
std::vector< RecoObj > fRecoObjCollection
Definition: PuppiProducer.h:59
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< LorentzVector > LorentzVectorCollection
Definition: PuppiProducer.h:30
std::string fPVName
Definition: PuppiProducer.h:47
virtual void beginJob()
math::XYZTLorentzVector LorentzVector
Definition: PuppiProducer.h:29
std::unique_ptr< PuppiContainer > fPuppiContainer
Definition: PuppiProducer.h:58
edm::EDGetTokenT< VertexCollection > tokenVertices_
Definition: PuppiProducer.h:44
std::vector< reco::PFCandidate > PFInputCollection
Definition: PuppiProducer.h:33
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
reco::VertexCollection VertexCollection
Definition: PuppiProducer.h:31
std::unique_ptr< PackedOutputCollection > fPackedPuppiCandidates
Definition: PuppiProducer.h:61
bool fClonePackedCands
Definition: PuppiProducer.h:55
edm::View< reco::Candidate > CandidateView
Definition: PuppiProducer.h:32
void produce(edm::Event &, const edm::EventSetup &) override
std::string fPuppiName
Definition: PuppiProducer.h:45
bool fPuppiForLeptons
Definition: PuppiProducer.h:49
PuppiProducer(const edm::ParameterSet &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool fUseExistingWeights
Definition: PuppiProducer.h:53
edm::View< reco::PFCandidate > PFView
Definition: PuppiProducer.h:36
edm::EDGetTokenT< CandidateView > tokenPFCandidates_
Definition: PuppiProducer.h:43
~PuppiProducer() override
std::unique_ptr< PFOutputCollection > fPuppiCandidates
Definition: PuppiProducer.h:60