27 typedef std::vector<int>
vint;
36 std::vector<const reco::Candidate *>
cands_;
67 for (
size_t i = 0;
i < ndau; ++
i)
76 std::ostringstream
ss;
93 if (
p->mother() ==
nullptr) {
94 cout <<
"-- decay tree: --" << endl;
103 cout <<
" (" << c.
px() <<
", " << c.
py() <<
", " << c.
pz() <<
"; " << c.
energy() <<
")";
105 cout <<
" [" << c.
pt() <<
": " << c.
eta() <<
", " << c.
phi() <<
"]";
107 cout <<
" {" << c.
vx() <<
", " << c.
vy() <<
", " << c.
vz() <<
"}";
113 if (found !=
cands_.end()) {
114 idx = found -
cands_.begin();
115 cout <<
" <idx: " << idx <<
">";
126 for (
size_t i = 0;
i < ndau; ++
i)
132 bool lastLevel =
true;
133 for (
size_t i = 0;
i < ndau; ++
i) {
141 cout << pre <<
"+-> ";
143 for (
size_t i = 0;
i < ndau; ++
i) {
148 if (vd != validDau - 1)
157 for (
size_t i = 0;
i < ndau; ++
i) {
159 assert(d !=
nullptr);
161 cout << pre <<
"+-> ";
virtual double pz() const =0
z coordinate of momentum vector
virtual double vx() const =0
x coordinate of vertex position
void printInfo(const reco::Candidate &) const
print 4 momenta
std::vector< const reco::Candidate * > cands_
pointer to collection
edm::ESHandle< ParticleDataTable > pdt_
std::string getParticleName(int id) const
edm::EDGetTokenT< edm::View< reco::Candidate > > srcToken_
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual double vy() const =0
y coordinate of vertex position
std::vector< int > vint
accepted status codes
void printDecay(const reco::Candidate &, const std::string &pre) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
bool getData(T &iHolder) const
void analyze(const edm::Event &, const edm::EventSetup &) override
virtual int status() const =0
status word
virtual double energy() const =0
energy
virtual double py() const =0
y coordinate of momentum vector
#define DEFINE_FWK_MODULE(type)
bool accept(const reco::Candidate &) const
accept candidate
virtual int pdgId() const =0
PDG identifier.
ParticleTreeDrawer(const edm::ParameterSet &)
bool hasValidDaughters(const reco::Candidate &) const
has valid daughters in the chain
bool printP4_
print parameters
HepPDT::ParticleData ParticleData
std::vector< DeviationSensor2D * > vd
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
virtual double vz() const =0
z coordinate of vertex position
virtual double px() const =0
x coordinate of momentum vector
virtual size_type numberOfDaughters() const =0
number of daughters
virtual double phi() const =0
momentum azimuthal angle