1 #ifndef MCSHOWERRECOPART_H 2 #define MCSHOWERRECOPART_H 5 namespace fhicl {
class ParameterSet; }
29 void ConstructShower(
const MCRecoPart& part_v);
35 const std::vector<unsigned int>&
ShowerDaughters(
const unsigned int shower_id)
const 37 if(shower_id >= _shower_daughters.size())
throw cet::exception(__FUNCTION__) <<
"Invalid shower index!";
38 return _shower_daughters.at(shower_id);
46 std::vector<unsigned int> mothers(_shower_index.size(),0);
47 for(
auto mother_iter = _shower_index.begin(); mother_iter!=_shower_index.end(); ++mother_iter)
48 mothers.at((*mother_iter).second) = (*mother_iter).first;
60 if(_shower_id.size() <= part_index)
return kINVALID_INT;
61 return _shower_id.at(part_index);
std::vector< int > _shower_id
Track index to shower index map.
const std::vector< unsigned int > ShowerMothers() const
std::vector< std::vector< unsigned int > > _shower_daughters
Shower time-ordered daughters.
static const int kINVALID_INT
int ShowerIndex(const unsigned int part_index) const
bool _debug_mode
lots of stdout stream
Code to link reconstructed objects back to the MC truth information.
const std::vector< unsigned int > & ShowerDaughters(const unsigned int shower_id) const
std::map< unsigned int, unsigned int > _shower_index
Shower Primary Index ID => Shower Index Map.
static const unsigned int kINVALID_UINT
cet::coded_exception< error, detail::translate > exception