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
21 
22 // ------------------------------------------------------------------------------------------
24 
25 public:
26  explicit PuppiProducer(const edm::ParameterSet&);
27  ~PuppiProducer() override;
28 
29  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
31  typedef std::vector<LorentzVector> LorentzVectorCollection;
34  typedef std::vector< reco::PFCandidate > PFInputCollection;
35  typedef std::vector< reco::PFCandidate > PFOutputCollection;
36  typedef std::vector< pat::PackedCandidate > PackedOutputCollection;
38 
39 private:
40  virtual void beginJob() ;
41  void produce(edm::Event&, const edm::EventSetup&) override;
42  virtual void endJob() ;
43 
52  bool fUseDZ;
53  float fDZCut;
54  double fEtaMinUseDZ;
55  double fPtMaxCharged;
63  double fVtxZCut;
64  std::unique_ptr<PuppiContainer> fPuppiContainer;
65  std::vector<RecoObj> fRecoObjCollection;
66  std::unique_ptr< PFOutputCollection > fPuppiCandidates;
67  std::unique_ptr< PackedOutputCollection > fPackedPuppiCandidates;
68 };
69 #endif
bool fUseFromPVLooseTight
Definition: PuppiProducer.h:51
std::string fPFName
Definition: PuppiProducer.h:47
double fDZCutForChargedFromPUVtxs
Definition: PuppiProducer.h:58
virtual void endJob()
bool fUseWeightsNoLep
Definition: PuppiProducer.h:60
std::vector< reco::PFCandidate > PFOutputCollection
Definition: PuppiProducer.h:35
bool fPuppiDiagnostics
Definition: PuppiProducer.h:49
std::vector< pat::PackedCandidate > PackedOutputCollection
Definition: PuppiProducer.h:36
std::vector< RecoObj > fRecoObjCollection
Definition: PuppiProducer.h:65
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< LorentzVector > LorentzVectorCollection
Definition: PuppiProducer.h:31
std::string fPVName
Definition: PuppiProducer.h:48
virtual void beginJob()
math::XYZTLorentzVector LorentzVector
Definition: PuppiProducer.h:30
double fEtaMaxCharged
Definition: PuppiProducer.h:56
std::unique_ptr< PuppiContainer > fPuppiContainer
Definition: PuppiProducer.h:64
edm::EDGetTokenT< VertexCollection > tokenVertices_
Definition: PuppiProducer.h:45
std::vector< reco::PFCandidate > PFInputCollection
Definition: PuppiProducer.h:34
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
reco::VertexCollection VertexCollection
Definition: PuppiProducer.h:32
std::unique_ptr< PackedOutputCollection > fPackedPuppiCandidates
Definition: PuppiProducer.h:67
bool fClonePackedCands
Definition: PuppiProducer.h:61
edm::View< reco::Candidate > CandidateView
Definition: PuppiProducer.h:33
void produce(edm::Event &, const edm::EventSetup &) override
std::string fPuppiName
Definition: PuppiProducer.h:46
bool fPuppiForLeptons
Definition: PuppiProducer.h:50
PuppiProducer(const edm::ParameterSet &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double fPtMaxCharged
Definition: PuppiProducer.h:55
def uint(string)
uint fNumOfPUVtxsForCharged
Definition: PuppiProducer.h:57
bool fUseExistingWeights
Definition: PuppiProducer.h:59
edm::View< reco::PFCandidate > PFView
Definition: PuppiProducer.h:37
edm::EDGetTokenT< CandidateView > tokenPFCandidates_
Definition: PuppiProducer.h:44
~PuppiProducer() override
std::unique_ptr< PFOutputCollection > fPuppiCandidates
Definition: PuppiProducer.h:66
double fEtaMinUseDZ
Definition: PuppiProducer.h:54