26 typedef std::vector<int>
vint;
35 std::vector<const reco::Candidate *>
cands_;
60 if (
status_.empty() )
return true;
66 for(
size_t i = 0;
i < ndau; ++
i )
76 std::ostringstream ss;
89 p != particles->end(); ++
p ) {
93 p != particles->end(); ++
p ) {
96 cout <<
"-- decay tree: --" << endl;
111 if ( found !=
cands_.end() ) {
112 idx = found -
cands_.begin();
113 cout <<
" <idx: " << idx <<
">";
124 for(
size_t i = 0;
i < ndau; ++
i )
127 if ( validDau == 0 )
return;
129 bool lastLevel =
true;
130 for(
size_t i = 0;
i < ndau; ++
i ) {
138 cout << pre <<
"+-> ";
140 for(
size_t i = 0;
i < ndau; ++
i ) {
145 if ( vd != validDau - 1 )
154 for(
size_t i = 0;
i < ndau; ++
i ) {
156 assert( d !=
nullptr );
158 cout << pre <<
"+-> ";
159 string prepre( pre );
160 if (
i == ndau - 1 ) prepre +=
" ";
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)
std::vector< DeviationSensor2D * > vd
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
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