26 typedef std::vector<int>
vint;
35 std::vector<const reco::Candidate *>
cands_;
51 printP4_( cfg.getUntrackedParameter<bool>(
"printP4",
false ) ),
52 printPtEtaPhi_( cfg.getUntrackedParameter<bool>(
"printPtEtaPhi",
false ) ),
53 printVertex_( cfg.getUntrackedParameter<bool>(
"printVertex",
false ) ),
54 printStatus_( cfg.getUntrackedParameter<bool>(
"printStatus",
false ) ),
55 printIndex_( cfg.getUntrackedParameter<bool>(
"printIndex",
false ) ),
56 status_( cfg.getUntrackedParameter<
vint>(
"status",
vint() ) ) {
60 if (
status_.size() == 0 )
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 ) {
95 if (
p->mother() == 0 ) {
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 ) {
158 cout << pre <<
"+-> ";
159 string prepre( pre );
160 if (
i == ndau - 1 ) prepre +=
" ";
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
virtual double energy() const =0
energy
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
void printInfo(const reco::Candidate &) const
print 4 momenta
std::vector< const reco::Candidate * > cands_
pointer to collection
virtual float eta() const =0
momentum pseudorapidity
#define DEFINE_FWK_MODULE(type)
edm::ESHandle< ParticleDataTable > pdt_
std::string getParticleName(int id) const
edm::EDGetTokenT< edm::View< reco::Candidate > > srcToken_
virtual int status() const =0
status word
virtual double pz() const =0
z coordinate of momentum vector
virtual double vx() const =0
x coordinate of vertex position
virtual float phi() const =0
momentum azimuthal angle
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)
void getData(T &iHolder) const
virtual double vy() const =0
y coordinate of vertex position
void analyze(const edm::Event &, const edm::EventSetup &) override
virtual size_type numberOfDaughters() const =0
number of daughters
virtual float pt() const =0
transverse momentum
std::vector< DeviationSensor2D * > vd
bool accept(const reco::Candidate &) const
accept candidate
ParticleTreeDrawer(const edm::ParameterSet &)
bool hasValidDaughters(const reco::Candidate &) const
has valid daughters in the chain
bool printP4_
print parameters
virtual double py() const =0
y coordinate of momentum vector
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
HepPDT::ParticleData ParticleData
virtual double px() const =0
x coordinate of momentum vector
virtual int pdgId() const =0
PDG identifier.
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
virtual double vz() const =0
z coordinate of vertex position
volatile std::atomic< bool > shutdown_flag false