1 #ifndef PandaTree_Objects_PFCand_h 2 #define PandaTree_Objects_PFCand_h 4 #include "PFCandBase.h" 5 #include "PackedMomentumMixin.h" 6 #include "../../Framework/interface/Array.h" 7 #include "../../Framework/interface/Collection.h" 8 #include "../../Framework/interface/Ref.h" 9 #include "../../Framework/interface/RefVector.h" 35 Char_t* packedPuppiW{0};
36 Char_t* packedPuppiWNoLepDiff{0};
38 void allocate(UInt_t n)
override;
39 void deallocate()
override;
43 void setAddress(TTree&, TString
const&,
utils::BranchList const& = {
"*"}, Bool_t setStatus = kTRUE)
override;
44 void book(TTree&, TString
const&,
utils::BranchList const& = {
"*"}, Bool_t dynamic = kTRUE)
override;
45 void releaseTree(TTree&, TString
const&)
override;
54 PFCand(
char const* name =
"");
60 static char const* typeName() {
return "PFCand"; }
62 void print(std::ostream& = std::cout, UInt_t level = 1)
const override;
63 void dump(std::ostream& = std::cout)
const override;
65 double pt()
const override { unpack_();
return pt_; }
66 double eta()
const override { unpack_();
return eta_; }
67 double phi()
const override { unpack_();
return phi_; }
68 double m()
const override { unpack_();
return mass_; }
69 void setPtEtaPhiM(
double pt,
double eta,
double phi,
double m)
override { setPtEtaPhiMPacked_(pt, eta, phi, m); }
70 void setXYZE(
double px,
double py,
double pz,
double e)
override { setXYZEPacked_(px, py, pz, e); }
71 double puppiW()
const override { unpackWeights_();
return puppiW_; }
72 double puppiWNoLep()
const override { unpackWeights_();
return puppiWNoLep_; }
73 void setPuppiW(
double w,
double wnl)
override { puppiW_ = w; puppiWNoLep_ = wnl; packWeights_(); }
88 Char_t& packedPuppiWNoLepDiff;
93 void unpackWeights_()
const;
95 mutable double puppiW_{0.};
96 mutable double puppiWNoLep_{0.};
104 void destructor(Bool_t recursive = kFALSE);
110 void doInit_()
override;
Base class for fixed-size containers.
Definition: ArrayBase.h:13
A reference to an element in a container.
Definition: Ref.h:20
Base class for dynamic-size containers.
Definition: CollectionBase.h:16
Definition: UnpackedPFCand.h:15
Template class for fixed-size container implementations. Inherits from base_type::array_type of the e...
Definition: Array.h:20
void print(std::ostream &=std::cout, UInt_t level=1) const override
Print the object content.
Definition: PFCand.cc:225
Definition: PackedMomentumMixin.h:7
List of branch names.
Definition: IOUtils.h:64
void dump(std::ostream &=std::cout) const override
Dump the object content.
Definition: PFCand.cc:233
Definition: PFCandBase.h:38
Definition: PackedMomentumMixin.h:9
void resizeVectors_(UInt_t) override
Override when there are vector members.
Definition: PFCand.cc:116
Base class for elements of containers.
Definition: Element.h:32
A vector of references to elements in a container.
Definition: RefVector.h:18
Definition: PFCandBase.h:14