All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
analysis::CalorimetryAnalysis Class Reference
Inheritance diagram for analysis::CalorimetryAnalysis:

Public Member Functions

 CalorimetryAnalysis (const fhicl::ParameterSet &pset)
 Constructor. More...
 
 ~CalorimetryAnalysis ()
 Destructor. More...
 
void analyze (art::Event const &e) override
 Analysis function. More...
 
void fillDefault ()
 Fill Default info for event associated to neutrino. More...
 
void setBranches (TTree *_tree)
 set branches for TTree More...
 
void resetTTree (TTree *_tree)
 reset ttree branches More...
 
void respondToOpenInputFile (const art::FileBlock &fb) override
 

Private Member Functions

void FillCalorimetry (art::Event const &e, const std::vector< art::Ptr< recob::Wire >> &allWires, const std::vector< art::Ptr< recob::Hit >> &allHits, const art::Ptr< recob::PFParticle > &pfp, const art::Ptr< recob::Track > &trk, const std::vector< art::Ptr< recob::SpacePoint >> &spacepoints, const std::vector< art::Ptr< anab::Calorimetry >> &calos, const std::vector< art::Ptr< anab::ParticleID >> &pid, const std::vector< art::Ptr< recob::Hit >> &areaHits, const std::vector< art::Ptr< recob::Hit >> &trkHits, const std::vector< art::Ptr< recob::Hit >> &caloHits, const recob::MCSFitResult &muon_mcs, const sbn::RangeP &muon_range, const sbn::RangeP &proton_range, const bool fData, const std::vector< std::pair< int, float >> &particleMatches, const art::Ptr< simb::MCParticle > &trueParticle, const std::array< std::map< unsigned, std::vector< const sim::IDE * >>, 3 > particle_ide_map, const std::array< std::vector< const sim::IDE * >, 3 > &allIDEs, const std::vector< geo::BoxBoundedGeo > &activeVolumes)
 

Private Attributes

TParticlePDG * proton = TDatabasePDG::Instance()->GetParticle(2212)
 
TParticlePDG * muon = TDatabasePDG::Instance()->GetParticle(13)
 
art::InputTag fPFPproducer
 
art::InputTag fCALOproducer
 
art::InputTag fPIDproducer
 
art::InputTag fTRKproducer
 
art::InputTag fT0producer
 
art::InputTag fHitFilterproducer
 
art::InputTag fAreaHitproducer
 
std::vector< art::InputTag > fHitProducers
 
art::InputTag fWireProducer
 
std::string fMCSproducer
 
std::string fRangeproducer
 
bool fAllTrueEnergyDeposits
 
std::vector< std::vector
< geo::BoxBoundedGeo > > 
fTPCVolumes
 
std::vector< geo::BoxBoundedGeofActiveVolumes
 
TTree * _calo_tree
 
int _fileno
 
int _run
 
int _sub
 
int _evt
 
int _pfpno
 
int _trkid
 
int _backtracked_pdg
 
float _backtracked_e
 
float _backtracked_deposited_e_u
 
float _backtracked_deposited_e_v
 
float _backtracked_deposited_e_y
 
float _backtracked_purity
 
float _backtracked_completeness
 
float _backtracked_overlay_purity
 
float _backtracked_q_u
 
float _backtracked_q_v
 
float _backtracked_q_y
 
float _backtracked_qtotal_u
 
float _backtracked_qtotal_v
 
float _backtracked_qtotal_y
 
std::vector< float > _backtracked_pc_q_u
 
std::vector< float > _backtracked_pc_q_v
 
std::vector< float > _backtracked_pc_q_y
 
std::vector< float > _backtracked_pc_e_u
 
std::vector< float > _backtracked_pc_e_v
 
std::vector< float > _backtracked_pc_e_y
 
std::vector< unsigned > _backtracked_c_u
 
std::vector< unsigned > _backtracked_c_v
 
std::vector< unsigned > _backtracked_c_y
 
std::vector< int > _backtracked_nloc_c_u
 
std::vector< float > _backtracked_locx_c_u
 
std::vector< float > _backtracked_locy_c_u
 
std::vector< float > _backtracked_locz_c_u
 
std::vector< float > _backtracked_dirx_c_u
 
std::vector< float > _backtracked_diry_c_u
 
std::vector< float > _backtracked_dirz_c_u
 
std::vector< float > _backtracked_de_c_u
 
std::vector< float > _backtracked_pitch_c_u
 
std::vector< float > _backtracked_scepitch_c_u
 
std::vector< int > _backtracked_nloc_c_v
 
std::vector< float > _backtracked_locx_c_v
 
std::vector< float > _backtracked_locy_c_v
 
std::vector< float > _backtracked_locz_c_v
 
std::vector< float > _backtracked_dirx_c_v
 
std::vector< float > _backtracked_diry_c_v
 
std::vector< float > _backtracked_dirz_c_v
 
std::vector< float > _backtracked_de_c_v
 
std::vector< float > _backtracked_pitch_c_v
 
std::vector< float > _backtracked_scepitch_c_v
 
std::vector< int > _backtracked_nloc_c_y
 
std::vector< float > _backtracked_locx_c_y
 
std::vector< float > _backtracked_locy_c_y
 
std::vector< float > _backtracked_locz_c_y
 
std::vector< float > _backtracked_dirx_c_y
 
std::vector< float > _backtracked_diry_c_y
 
std::vector< float > _backtracked_dirz_c_y
 
std::vector< float > _backtracked_de_c_y
 
std::vector< float > _backtracked_pitch_c_y
 
std::vector< float > _backtracked_scepitch_c_y
 
std::vector< float > _backtracked_x
 
std::vector< float > _backtracked_y
 
std::vector< float > _backtracked_z
 
std::vector< float > _backtracked_dirx
 
std::vector< float > _backtracked_diry
 
std::vector< float > _backtracked_dirz
 
float _backtracked_theta
 
float _backtracked_phi
 
float _backtracked_px
 
float _backtracked_py
 
float _backtracked_pz
 
float _backtracked_end_x
 
float _backtracked_end_y
 
float _backtracked_end_z
 
float _backtracked_start_x
 
float _backtracked_start_y
 
float _backtracked_start_z
 
float _backtracked_start_t
 
float _backtracked_start_U
 
float _backtracked_start_V
 
float _backtracked_start_Y
 
float _backtracked_sce_start_x
 
float _backtracked_sce_start_y
 
float _backtracked_sce_start_z
 
float _backtracked_sce_start_U
 
float _backtracked_sce_start_V
 
float _backtracked_sce_start_Y
 
float _backtracked_length
 
float _backtracked_length_start_to_end
 
bool _backtracked_process_is_stopping
 
bool _backtracked_end_in_tpc
 
uint _generation
 
uint _shr_daughters
 
uint _trk_daughters
 
uint _daughters
 
uint _n_pfp
 
float _trk_score
 
float _trk_theta
 
float _trk_phi
 
float _trk_dir_x
 
float _trk_dir_y
 
float _trk_dir_z
 
float _trk_len
 
float _trk_calo_range_u
 
float _trk_calo_range_v
 
float _trk_calo_range_y
 
float _trk_start_x
 
float _trk_start_y
 
float _trk_start_z
 
float _trk_sce_start_x
 
float _trk_sce_start_y
 
float _trk_sce_start_z
 
float _trk_end_x
 
float _trk_end_y
 
float _trk_end_z
 
float _trk_sce_end_x
 
float _trk_sce_end_y
 
float _trk_sce_end_z
 
float _trk_bragg_p_y
 
float _trk_bragg_mu_y
 
float _trk_bragg_mip_y
 
float _trk_pid_chipr_y
 
float _trk_pid_chika_y
 
float _trk_pid_chipi_y
 
float _trk_pid_chimu_y
 
float _trk_pida_y
 
float _trk_bragg_p_u
 
float _trk_bragg_mu_u
 
float _trk_bragg_mip_u
 
float _trk_pid_chipr_u
 
float _trk_pid_chika_u
 
float _trk_pid_chipi_u
 
float _trk_pid_chimu_u
 
float _trk_pida_u
 
float _trk_bragg_p_v
 
float _trk_bragg_mu_v
 
float _trk_bragg_mip_v
 
float _trk_pid_chipr_v
 
float _trk_pid_chika_v
 
float _trk_pid_chipi_v
 
float _trk_pid_chimu_v
 
float _trk_pida_v
 
float _trk_bragg_p_three_planes
 
float _trk_mcs_muon_mom
 
float _trk_energy_proton
 
float _trk_energy_muon
 
int _longest
 
std::vector< float > _integrated_charge_u
 
std::vector< float > _integrated_charge_v
 
std::vector< float > _integrated_charge_y
 
std::vector< float > _allhit_charge_u
 
std::vector< float > _allhit_charge_v
 
std::vector< float > _allhit_charge_y
 
std::vector< unsigned > _allhit_wire_u
 
std::vector< unsigned > _allhit_wire_v
 
std::vector< unsigned > _allhit_wire_y
 
std::vector< unsigned > _allhit_channel_u
 
std::vector< unsigned > _allhit_channel_v
 
std::vector< unsigned > _allhit_channel_y
 
std::vector< int > _allhit_multiplicity_u
 
std::vector< int > _allhit_multiplicity_v
 
std::vector< int > _allhit_multiplicity_y
 
std::vector< float > _allhit_width_u
 
std::vector< float > _allhit_width_v
 
std::vector< float > _allhit_width_y
 
std::vector< float > _allhit_time_u
 
std::vector< float > _allhit_time_v
 
std::vector< float > _allhit_time_y
 
std::vector< unsigned > _allhit_nhit_u
 
std::vector< unsigned > _allhit_nhit_v
 
std::vector< unsigned > _allhit_nhit_y
 
std::vector< float > _trkhit_charge_u
 
std::vector< float > _trkhit_charge_v
 
std::vector< float > _trkhit_charge_y
 
std::vector< unsigned > _trkhit_wire_u
 
std::vector< unsigned > _trkhit_wire_v
 
std::vector< unsigned > _trkhit_wire_y
 
std::vector< unsigned > _trkhit_channel_u
 
std::vector< unsigned > _trkhit_channel_v
 
std::vector< unsigned > _trkhit_channel_y
 
std::vector< int > _trkhit_multiplicity_u
 
std::vector< int > _trkhit_multiplicity_v
 
std::vector< int > _trkhit_multiplicity_y
 
std::vector< float > _trkhit_width_u
 
std::vector< float > _trkhit_width_v
 
std::vector< float > _trkhit_width_y
 
std::vector< float > _trkhit_time_u
 
std::vector< float > _trkhit_time_v
 
std::vector< float > _trkhit_time_y
 
std::vector< unsigned > _trkhit_nhit_u
 
std::vector< unsigned > _trkhit_nhit_v
 
std::vector< unsigned > _trkhit_nhit_y
 
std::vector< float > _calohit_charge_u
 
std::vector< float > _calohit_charge_v
 
std::vector< float > _calohit_charge_y
 
std::vector< unsigned > _calohit_wire_u
 
std::vector< unsigned > _calohit_wire_v
 
std::vector< unsigned > _calohit_wire_y
 
std::vector< unsigned > _calohit_channel_u
 
std::vector< unsigned > _calohit_channel_v
 
std::vector< unsigned > _calohit_channel_y
 
std::vector< int > _calohit_multiplicity_u
 
std::vector< int > _calohit_multiplicity_v
 
std::vector< int > _calohit_multiplicity_y
 
std::vector< float > _calohit_width_u
 
std::vector< float > _calohit_width_v
 
std::vector< float > _calohit_width_y
 
std::vector< float > _calohit_time_u
 
std::vector< float > _calohit_time_v
 
std::vector< float > _calohit_time_y
 
std::vector< unsigned > _calohit_nhit_u
 
std::vector< unsigned > _calohit_nhit_v
 
std::vector< unsigned > _calohit_nhit_y
 
std::vector< float > _sumhit_charge_u
 
std::vector< float > _sumhit_charge_v
 
std::vector< float > _sumhit_charge_y
 
std::vector< unsigned > _sumhit_wire_u
 
std::vector< unsigned > _sumhit_wire_v
 
std::vector< unsigned > _sumhit_wire_y
 
std::vector< unsigned > _sumhit_channel_u
 
std::vector< unsigned > _sumhit_channel_v
 
std::vector< unsigned > _sumhit_channel_y
 
std::vector< int > _sumhit_multiplicity_u
 
std::vector< int > _sumhit_multiplicity_v
 
std::vector< int > _sumhit_multiplicity_y
 
std::vector< float > _sumhit_width_u
 
std::vector< float > _sumhit_width_v
 
std::vector< float > _sumhit_width_y
 
std::vector< float > _sumhit_time_u
 
std::vector< float > _sumhit_time_v
 
std::vector< float > _sumhit_time_y
 
std::vector< unsigned > _sumhit_nhit_u
 
std::vector< unsigned > _sumhit_nhit_v
 
std::vector< unsigned > _sumhit_nhit_y
 
std::vector< float > _areahit_charge_u
 
std::vector< float > _areahit_charge_v
 
std::vector< float > _areahit_charge_y
 
std::vector< unsigned > _areahit_wire_u
 
std::vector< unsigned > _areahit_wire_v
 
std::vector< unsigned > _areahit_wire_y
 
std::vector< unsigned > _areahit_channel_u
 
std::vector< unsigned > _areahit_channel_v
 
std::vector< unsigned > _areahit_channel_y
 
std::vector< int > _areahit_multiplicity_u
 
std::vector< int > _areahit_multiplicity_v
 
std::vector< int > _areahit_multiplicity_y
 
std::vector< float > _areahit_width_u
 
std::vector< float > _areahit_width_v
 
std::vector< float > _areahit_width_y
 
std::vector< float > _areahit_time_u
 
std::vector< float > _areahit_time_v
 
std::vector< float > _areahit_time_y
 
std::vector< unsigned > _areahit_nhit_u
 
std::vector< unsigned > _areahit_nhit_v
 
std::vector< unsigned > _areahit_nhit_y
 
std::vector< float > _dqdx_u
 
std::vector< float > _dqdx_v
 
std::vector< float > _dqdx_y
 
std::vector< float > _dedx_u
 
std::vector< float > _dedx_v
 
std::vector< float > _dedx_y
 
std::vector< unsigned > _dedx_channel_u
 
std::vector< unsigned > _dedx_channel_v
 
std::vector< unsigned > _dedx_channel_y
 
std::vector< float > _rr_u
 
std::vector< float > _rr_v
 
std::vector< float > _rr_y
 
std::vector< float > _pitch_u
 
std::vector< float > _pitch_v
 
std::vector< float > _pitch_y
 
std::vector< float > _sx
 
std::vector< float > _sy
 
std::vector< float > _sz
 
std::vector< float > _w_u
 
std::vector< float > _w_v
 
std::vector< float > _w_y
 
std::vector< float > _t_u
 
std::vector< float > _t_v
 
std::vector< float > _t_y
 
std::vector< float > _x_u
 
std::vector< float > _x_v
 
std::vector< float > _x_y
 
std::vector< float > _y_u
 
std::vector< float > _y_v
 
std::vector< float > _y_y
 
std::vector< float > _z_u
 
std::vector< float > _z_v
 
std::vector< float > _z_y
 
std::vector< float > _dir_x_u
 
std::vector< float > _dir_x_v
 
std::vector< float > _dir_x_y
 
std::vector< float > _dir_y_u
 
std::vector< float > _dir_y_v
 
std::vector< float > _dir_y_y
 
std::vector< float > _dir_z_u
 
std::vector< float > _dir_z_v
 
std::vector< float > _dir_z_y
 

Detailed Description

Definition at line 113 of file CalorimetryAnalysis_module.cc.

Constructor & Destructor Documentation

analysis::CalorimetryAnalysis::CalorimetryAnalysis ( const fhicl::ParameterSet &  p)

Constructor.

Parameters
psetConstructor.

Arguments:

pset - Fcl parameters.

Definition at line 556 of file CalorimetryAnalysis_module.cc.

557  : art::EDAnalyzer{p}
558 
559 {
560  fPFPproducer = p.get< art::InputTag > ("PFPproducer","pandoraTrackGausCryo0");
561  fCALOproducer = p.get< art::InputTag > ("CALOproducer");
562  fPIDproducer = p.get< art::InputTag > ("PIDproducer" );
563  fTRKproducer = p.get< art::InputTag > ("TRKproducer" );
564  fMCSproducer = p.get<std::string>("MCSproducer", "pandoraTrackMCS");
565  fRangeproducer = p.get<std::string>("Rangeproducer", "pandoraTrackRange");
566  fT0producer = p.get< art::InputTag > ("T0producer", "" );
567  fAreaHitproducer = p.get<art::InputTag> ("AreaHitproducer", "areahit");
568  fAllTrueEnergyDeposits = p.get<bool>("AllTrueEnergyDeposits", true);
569  fHitFilterproducer = p.get<art::InputTag>("HitFilterproducer", "filtgoodhit");
570  fHitProducers = p.get<std::vector<art::InputTag>>("HitProducers");
571  fWireProducer = p.get<art::InputTag>("WireProducer", "decon1DroiTPC0");
572 
573  art::ServiceHandle<art::TFileService> tfs;
574 
575  _calo_tree = tfs->make<TTree>("CalorimetryAnalyzer", "Calo Tree");
576 
577  const geo::GeometryCore *geometry = lar::providerFrom<geo::Geometry>();
578 
579  // first the TPC volumes
580  for (auto const &cryo: geometry->IterateCryostats()) {
581  geo::GeometryCore::TPC_iterator iTPC = geometry->begin_TPC(cryo.ID()),
582  tend = geometry->end_TPC(cryo.ID());
583  std::vector<geo::BoxBoundedGeo> this_tpc_volumes;
584  while (iTPC != tend) {
585  geo::TPCGeo const& TPC = *iTPC;
586  this_tpc_volumes.push_back(TPC.ActiveBoundingBox());
587  iTPC++;
588  }
589  fTPCVolumes.push_back(std::move(this_tpc_volumes));
590  }
591 
592  // then combine them into active volumes
593  for (const std::vector<geo::BoxBoundedGeo> &tpcs: fTPCVolumes) {
594  double XMin = std::min_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MinX() < rhs.MinX(); })->MinX();
595  double YMin = std::min_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MinY() < rhs.MinY(); })->MinY();
596  double ZMin = std::min_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MinZ() < rhs.MinZ(); })->MinZ();
597 
598  double XMax = std::max_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MaxX() < rhs.MaxX(); })->MaxX();
599  double YMax = std::max_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MaxY() < rhs.MaxY(); })->MaxY();
600  double ZMax = std::max_element(tpcs.begin(), tpcs.end(), [](auto &lhs, auto &rhs) { return lhs.MaxZ() < rhs.MaxZ(); })->MaxZ();
601 
602  fActiveVolumes.emplace_back(XMin, XMax, YMin, YMax, ZMin, ZMax);
603  }
604 
605  _fileno = 0;
606 
607  setBranches(NULL);
608 }
std::vector< std::vector< geo::BoxBoundedGeo > > fTPCVolumes
const geo::GeometryCore * geometry
pdgs p
Definition: selectors.fcl:22
Geometry information for a single TPC.
Definition: TPCGeo.h:38
geo::BoxBoundedGeo const & ActiveBoundingBox() const
Returns the box of the active volume of this TPC.
Definition: TPCGeo.h:320
BEGIN_PROLOG TPC
std::vector< geo::BoxBoundedGeo > fActiveVolumes
Description of geometry of one entire detector.
void setBranches(TTree *_tree)
set branches for TTree
art::ServiceHandle< art::TFileService > tfs
std::vector< art::InputTag > fHitProducers
Forward iterator browsing all geometry elements in the detector.
Definition: GeometryCore.h:727
analysis::CalorimetryAnalysis::~CalorimetryAnalysis ( )
inline

Destructor.

Definition at line 127 of file CalorimetryAnalysis_module.cc.

127 {};

Member Function Documentation

void analysis::CalorimetryAnalysis::analyze ( art::Event const &  e)
override

Analysis function.

Definition at line 610 of file CalorimetryAnalysis_module.cc.

611 {
612  bool fData = e.isRealData();
613  (void) fData;
614 
615  const geo::GeometryCore *geometry = lar::providerFrom<geo::Geometry>();
616 
617  _evt = e.event();
618  _sub = e.subRun();
619  _run = e.run();
620  std::cout << "[CalorimetryAnalysis::analyzeEvent] Run: " << _run << ", SubRun: " << _sub << ", Event: "<< _evt << std::endl;
621 
622  // Build larpandora info:
623  //lar_pandora::LArPandoraHelper larpandora;
624  //lar_pandora::PFParticleVector pfparticles;
625  //lar_pandora::PFParticleMap particleMap;
626  //larpandora.CollectPFParticles(e, "pandora", pfparticles);
627  //larpandora.BuildPFParticleMap(pfparticles, particleMap);
628 
629  // recob Hits
630  std::vector<art::Ptr<recob::Hit>> hitList;
631  for (const art::InputTag &t: fHitProducers) {
632  art::ValidHandle<std::vector<recob::Hit>> hitHandle = e.getValidHandle<std::vector<recob::Hit>>(t);
633  art::fill_ptr_vector(hitList, hitHandle);
634  }
635  // recob Wires:w
636 
637  art::Handle<std::vector<recob::Wire>> wireHandle;
638  e.getByLabel(fWireProducer, wireHandle);
639 
640  std::vector<art::Ptr<recob::Wire>> wireList;
641  if (wireHandle.isValid()) {
642  art::fill_ptr_vector(wireList, wireHandle);
643  }
644 
645  // true particles
646  art::ValidHandle<std::vector<simb::MCParticle>> particleHandle = e.getValidHandle<std::vector<simb::MCParticle>>("largeant");
647  std::vector<art::Ptr<simb::MCParticle>> particleList;
648  art::fill_ptr_vector(particleList, particleHandle);
649 
650  art::ValidHandle<std::vector<sim::SimChannel>> simchannelHandle = e.getValidHandle<std::vector<sim::SimChannel>>("largeant");
651  std::vector<art::Ptr<sim::SimChannel>> simchannelList;
652  art::fill_ptr_vector(simchannelList, simchannelHandle);
653 
654  art::ValidHandle<std::vector<recob::PFParticle>> pfparticles = e.getValidHandle<std::vector<recob::PFParticle>>(fPFPproducer);
655  std::vector<art::Ptr<recob::PFParticle>> PFParticleList;
656  art::fill_ptr_vector(PFParticleList, pfparticles);
657  _n_pfp = pfparticles->size();
658 
659  art::ValidHandle<std::vector<recob::Track>> tracks = e.getValidHandle<std::vector<recob::Track>>(fTRKproducer);
660 
661  art::FindManyP<recob::SpacePoint> fmSpacePoint(PFParticleList, e, fPFPproducer);
662 
663  art::FindManyP<recob::Track> fmTracks(pfparticles, e, fTRKproducer);
664  // art::FindManyP<recob::SpacePoint> fmSpacepoints(pfparticles, e, fPFPproducer);
665  // also get hits...
666  art::FindManyP<recob::Hit> fmtrkHits(tracks, e, fTRKproducer);
667  art::FindManyP<recob::Hit> fmareaHits(tracks, e, fAreaHitproducer);
668  art::FindManyP<recob::Hit> fmcaloHits(tracks, e, fHitFilterproducer);
669 
670  art::FindManyP<anab::Calorimetry> fmCalo(tracks, e, fCALOproducer);
671  art::FindManyP<anab::ParticleID> fmPID(tracks, e, fPIDproducer);
672 
673  art::InputTag mcs_muon {fMCSproducer, "muon"};
674  art::InputTag range_muon {fRangeproducer, "muon"};
675  art::InputTag range_proton {fRangeproducer, "proton"};
676 
677  art::FindManyP<recob::MCSFitResult> fmMuonMCS(tracks, e, mcs_muon);
678  art::FindManyP<sbn::RangeP> fmMuonRange(tracks, e, range_muon);
679  art::FindManyP<sbn::RangeP> fmProtonRange(tracks, e, range_proton);
680 
681  // service data
682  auto const clock_data = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataFor(e);
683 
684  for (art::Ptr<recob::PFParticle> p_pfp: PFParticleList) {
685  const recob::PFParticle &pfp = *p_pfp;
686 
687  fillDefault();
688 
689  // grab associated tracks
690  const std::vector<art::Ptr<recob::Track>> thisTrack = fmTracks.at(p_pfp.key());
691  if (thisTrack.size() != 1)
692  continue;
693 
694  size_t parent_ind = pfp.Parent();
695  std::cout << "Parent ind: " << parent_ind << std::endl;
696  if (parent_ind == recob::PFParticle::kPFParticlePrimary || parent_ind >= PFParticleList.size()) {
697  std::cout << "Parent doesn't exist.\n";
698  continue;
699  }
700  // check if parent is the primary
701  const recob::PFParticle *p_parent = NULL;
702  for (unsigned i_p = 0; i_p < PFParticleList.size(); i_p++) {
703  if (PFParticleList[i_p]->Self() == pfp.Parent()) {
704  p_parent = &*PFParticleList[i_p];
705  break;
706  }
707  }
708 
709  if (p_parent == NULL || !p_parent->IsPrimary()) {
710  std::cout << "Parent not primary\n";
711  continue;
712  }
713 
714  art::Ptr<recob::Track> trkPtr = thisTrack.at(0);
715  const recob::Track &track = *trkPtr;
716 
717  // get all the data
718 
719  // track data
720  std::vector<art::Ptr<recob::SpacePoint>> emptySPVector;
721  const std::vector<art::Ptr<recob::SpacePoint>> &spacepoints = fmSpacePoint.isValid() ? fmSpacePoint.at(p_pfp.key()) : emptySPVector;
722 
723  std::vector<art::Ptr<anab::Calorimetry>> emptyCaloVector;
724  const std::vector<art::Ptr<anab::Calorimetry>> &calo = fmCalo.isValid() ? fmCalo.at(trkPtr.key()) : emptyCaloVector;
725 
726  std::vector<art::Ptr<anab::ParticleID>> emptyPIDVector;
727  const std::vector<art::Ptr<anab::ParticleID>> &pid = fmPID.isValid() ? fmPID.at(trkPtr.key()) : emptyPIDVector;
728 
729  recob::MCSFitResult muon_mcs;
730  if (fmMuonMCS.isValid() && fmMuonMCS.at(trkPtr.key()).size()) muon_mcs = *fmMuonMCS.at(trkPtr.key()).at(0);
731 
732  sbn::RangeP muon_range;
733  if (fmMuonRange.isValid() && fmMuonRange.at(trkPtr.key()).size()) muon_range = *fmMuonRange.at(trkPtr.key()).at(0);
734 
735  sbn::RangeP proton_range;
736  if (fmProtonRange.isValid() && fmProtonRange.at(trkPtr.key()).size()) proton_range = *fmProtonRange.at(trkPtr.key()).at(0);
737 
738  std::vector<art::Ptr<recob::Hit>> emptyHitVector;
739  const std::vector<art::Ptr<recob::Hit>> &trkHits = fmtrkHits.isValid() ? fmtrkHits.at(trkPtr.key()) : emptyHitVector;
740  const std::vector<art::Ptr<recob::Hit>> &areaHits = fmareaHits.isValid() ? fmareaHits.at(trkPtr.key()) : emptyHitVector;
741  const std::vector<art::Ptr<recob::Hit>> &caloHits = fmcaloHits.isValid() ? fmcaloHits.at(trkPtr.key()) : emptyHitVector;
742 
743  // Get the true matching MC particle
744  std::vector<std::pair<int, float>> matches = CAFRecoUtils::AllTrueParticleIDEnergyMatches(clock_data, trkHits, true);
745  // get the match with the most energy
746  int match_id = matches.size() ? std::max_element(matches.begin(), matches.end(),
747  [](const auto &a, const auto &b) { return a.second < b.second; })->first : -1;
748  float matchE = matches.size() ? std::max_element(matches.begin(), matches.end(),
749  [](const auto &a, const auto &b) { return a.second < b.second; })->second : -1;
750  art::Ptr<simb::MCParticle> true_particle;
751  for (art::Ptr<simb::MCParticle> p: particleList) {
752  if (p->TrackId() == match_id) {
753  true_particle = p;
754  break;
755  }
756  }
757  float trueTrackE = 0.;
758  for (auto pair: matches) trueTrackE += pair.second;
759 
760  // TODO: fix??
761  //
762  // ignore tracks with no match
763  if (!true_particle) continue;
764  // only take particle that matches to true instigator
765  if (true_particle->Process() != "primary") continue;
766 
767 
768  std::cout << "Track: " << track.ID() << " len: " << track.Length() << " matched to particle: " << true_particle->TrackId() << " frac: " << (matchE/trueTrackE) << std::endl;
769 
770  art::ServiceHandle<cheat::BackTrackerService> bt_serv;
771 
772  std::array<std::map<unsigned, std::vector<const sim::IDE*>>, 3> particle_ide_map;
773  for (const art::Ptr<sim::SimChannel> sc: simchannelList) {
774  for (const auto &pair: sc->TDCIDEMap()) {
775  for (const sim::IDE &ide: pair.second) {
776  if (ide.trackID == true_particle->TrackId() || fAllTrueEnergyDeposits) {
777  unsigned plane_id = geometry->ChannelToWire(sc->Channel()).at(0).Plane;
778  particle_ide_map[plane_id][sc->Channel()].push_back(&ide);
779  }
780  }
781  }
782  }
783 
784  std::array<std::vector<const sim::IDE*>, 3> allIDEs;
785  for (unsigned i = 0; i < particleList.size(); i++) {
786  int G4ID = particleList[i]->TrackId();
787  for (unsigned plane = 0; plane < 3; plane++) {
788  // build the plane ID
789  geo::PlaneID plane_id(0, 0, plane);
790  std::vector<const sim::IDE*> this_ides = bt_serv->TrackIdToSimIDEs_Ps(G4ID, geometry->View(plane_id));
791  allIDEs[plane].insert(allIDEs[plane].end(), this_ides.begin(), this_ides.end());
792  }
793  }
794 
796  wireList,
797  hitList,
798  p_pfp,
799  thisTrack.at(0),
800  spacepoints,
801  calo,
802  pid,
803  areaHits,
804  trkHits,
805  caloHits,
806  muon_mcs,
807  muon_range,
808  proton_range,
809  false,
810  matches,
811  true_particle,
812  particle_ide_map,
813  allIDEs,
815 
816  }// for all PFParticles
817 }// analyzeEvent
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:116
ClusterModuleLabel join with tracks
const geo::GeometryCore * geometry
static constexpr size_t kPFParticlePrimary
Define index to signify primary particle.
Definition: PFParticle.h:61
void FillCalorimetry(art::Event const &e, const std::vector< art::Ptr< recob::Wire >> &allWires, const std::vector< art::Ptr< recob::Hit >> &allHits, const art::Ptr< recob::PFParticle > &pfp, const art::Ptr< recob::Track > &trk, const std::vector< art::Ptr< recob::SpacePoint >> &spacepoints, const std::vector< art::Ptr< anab::Calorimetry >> &calos, const std::vector< art::Ptr< anab::ParticleID >> &pid, const std::vector< art::Ptr< recob::Hit >> &areaHits, const std::vector< art::Ptr< recob::Hit >> &trkHits, const std::vector< art::Ptr< recob::Hit >> &caloHits, const recob::MCSFitResult &muon_mcs, const sbn::RangeP &muon_range, const sbn::RangeP &proton_range, const bool fData, const std::vector< std::pair< int, float >> &particleMatches, const art::Ptr< simb::MCParticle > &trueParticle, const std::array< std::map< unsigned, std::vector< const sim::IDE * >>, 3 > particle_ide_map, const std::array< std::vector< const sim::IDE * >, 3 > &allIDEs, const std::vector< geo::BoxBoundedGeo > &activeVolumes)
pdgs p
Definition: selectors.fcl:22
The data type to uniquely identify a Plane.
Definition: geo_types.h:472
std::vector< geo::WireID > ChannelToWire(raw::ChannelID_t const channel) const
Returns a list of wires connected to the specified TPC channel.
std::size_t size(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:561
process_name use argoneut_mc_hitfinder track
void fillDefault()
Fill Default info for event associated to neutrino.
process_name gaushit a
process_name can override from command line with o or output calo
Definition: pid.fcl:40
std::vector< std::pair< int, float > > AllTrueParticleIDEnergyMatches(const detinfo::DetectorClocksData &clockData, const std::vector< art::Ptr< recob::Hit > > &hits, bool rollup_unsaved_ids=1)
double Length(size_t p=0) const
Access to various track properties.
Ionization at a point of the TPC sensitive volume.
Definition: SimChannel.h:86
size_t Parent() const
Definition: PFParticle.h:96
auto end(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:585
bool IsPrimary() const
Returns whether the particle is the root of the flow.
Definition: PFParticle.h:86
std::vector< geo::BoxBoundedGeo > fActiveVolumes
j template void())
Definition: json.hpp:3108
Description of geometry of one entire detector.
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
Class storing the result of the Maximum Likelihood fit of Multiple Coulomb Scattering angles between ...
Definition: MCSFitResult.h:19
Hierarchical representation of particle flow.
Definition: PFParticle.h:44
do i e
std::vector< art::InputTag > fHitProducers
BEGIN_PROLOG could also be cout
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a &quot;fitted&quot; track:
void analysis::CalorimetryAnalysis::FillCalorimetry ( art::Event const &  e,
const std::vector< art::Ptr< recob::Wire >> &  allWires,
const std::vector< art::Ptr< recob::Hit >> &  allHits,
const art::Ptr< recob::PFParticle > &  pfp,
const art::Ptr< recob::Track > &  trk,
const std::vector< art::Ptr< recob::SpacePoint >> &  spacepoints,
const std::vector< art::Ptr< anab::Calorimetry >> &  calos,
const std::vector< art::Ptr< anab::ParticleID >> &  pid,
const std::vector< art::Ptr< recob::Hit >> &  areaHits,
const std::vector< art::Ptr< recob::Hit >> &  trkHits,
const std::vector< art::Ptr< recob::Hit >> &  caloHits,
const recob::MCSFitResult muon_mcs,
const sbn::RangeP muon_range,
const sbn::RangeP proton_range,
const bool  fData,
const std::vector< std::pair< int, float >> &  particleMatches,
const art::Ptr< simb::MCParticle > &  trueParticle,
const std::array< std::map< unsigned, std::vector< const sim::IDE * >>, 3 >  particle_ide_map,
const std::array< std::vector< const sim::IDE * >, 3 > &  allIDEs,
const std::vector< geo::BoxBoundedGeo > &  activeVolumes 
)
private

Definition at line 1597 of file CalorimetryAnalysis_module.cc.

1619 {
1620 
1621  art::ServiceHandle<cheat::BackTrackerService> bt_serv;
1622  const geo::GeometryCore *geometry = lar::providerFrom<geo::Geometry>();
1623  const spacecharge::SpaceCharge *spacecharge = lar::providerFrom<spacecharge::SpaceChargeService>();
1624  auto const clock_data = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataFor(e);
1625  auto const dprop = art::ServiceHandle<detinfo::DetectorPropertiesService const>()->DataFor(e, clock_data);
1626 
1627  // TODO: variables to set
1628  _generation = -1;
1629  _shr_daughters = 0;
1630  _trk_daughters = 0;
1631  _trk_score = -1;
1632  _longest = -1;
1633 
1634  _daughters = pfp->NumDaughters();
1635  _pfpno = pfp->Self();
1636  _trkid = trk->ID();
1637 
1638  for (unsigned sp_i = 0; sp_i < spacepoints.size(); sp_i++) {
1639  _sx.push_back(spacepoints[sp_i]->XYZ()[0]);
1640  _sy.push_back(spacepoints[sp_i]->XYZ()[1]);
1641  _sz.push_back(spacepoints[sp_i]->XYZ()[2]);
1642  }
1643 
1644  for (const auto &wire: allWires) {
1645  unsigned plane_id = geometry->ChannelToWire(wire->Channel()).at(0).Plane;
1646 
1647  if (plane_id == 0) {
1648  _integrated_charge_u.push_back(0);
1649  for (auto const &range: wire->SignalROI().get_ranges()) {
1650  for (float val: range) _integrated_charge_u.back() += val;
1651  }
1652  }
1653  else if (plane_id == 1) {
1654  _integrated_charge_v.push_back(0);
1655  for (auto const &range: wire->SignalROI().get_ranges()) {
1656  for (float val: range) _integrated_charge_v.back() += val;
1657  }
1658  }
1659  else if (plane_id == 2) {
1660  _integrated_charge_y.push_back(0);
1661  for (auto const &range: wire->SignalROI().get_ranges()) {
1662  for (float val: range) _integrated_charge_y.back() += val;
1663  }
1664  }
1665  }
1666 
1667  FillHits(clock_data, allHits,
1689  );
1690 
1691  FillHits(clock_data, areaHits,
1713  );
1714 
1715  FillHits(clock_data, trkHits,
1737  );
1738 
1739  FillHits(clock_data, caloHits,
1761  );
1762 
1763  FillHits(clock_data, caloHits,
1785  false);
1786 
1787  // store Backtracking
1788  if (!fData)
1789  {
1790  _backtracked_e = trueParticle->E();
1791  _backtracked_pdg = trueParticle->PdgCode();
1792  float trueTrackE = 0.;
1793  float matchE = -1;
1794  for (auto pair: particleMatches) {
1795  trueTrackE += pair.second;
1796  if (pair.first == trueParticle->TrackId()) matchE = pair.second;
1797  }
1798  assert(matchE > 0.);
1799  _backtracked_purity = matchE / trueTrackE;
1800 
1801  float trueParticleE = 0.;
1802  _backtracked_q_u = 0.;
1803  _backtracked_q_v = 0.;
1804  _backtracked_q_y = 0.;
1805  _backtracked_qtotal_u = 0.;
1806  _backtracked_qtotal_v = 0.;
1807  _backtracked_qtotal_y = 0.;
1811 
1812  for (auto const &ide_pair: particle_ide_map[0]) {
1813  _backtracked_c_u.push_back(ide_pair.first);
1814  _backtracked_pc_q_u.push_back(0);
1815  _backtracked_pc_e_u.push_back(0);
1816  for (const sim::IDE *ide: ide_pair.second) {
1817  trueParticleE += ide->energy;
1820  _backtracked_pc_q_u.back() += ide->numElectrons;
1821  _backtracked_pc_e_u.back() += ide->energy;
1822  }
1823  }
1824 
1825  for (auto const &ide_pair: particle_ide_map[1]) {
1826  _backtracked_c_v.push_back(ide_pair.first);
1827  _backtracked_pc_q_v.push_back(0);
1828  _backtracked_pc_e_v.push_back(0);
1829  for (const sim::IDE *ide: ide_pair.second) {
1830  trueParticleE += ide->energy;
1833  _backtracked_pc_q_v.back() += ide->numElectrons;
1834  _backtracked_pc_e_v.back() += ide->energy;
1835  }
1836  }
1837 
1838  for (auto const &ide_pair: particle_ide_map[2]) {
1839  _backtracked_c_y.push_back(ide_pair.first);
1840  _backtracked_pc_q_y.push_back(0);
1841  _backtracked_pc_e_y.push_back(0);
1842  for (const sim::IDE *ide: ide_pair.second) {
1843  trueParticleE += ide->energy;
1846  _backtracked_pc_q_y.back() += ide->numElectrons;
1847  _backtracked_pc_e_y.back() += ide->energy;
1848  }
1849  }
1850 
1851  for (auto ide: allIDEs[0]) {
1853  }
1854  for (auto ide: allIDEs[1]) {
1856  }
1857  for (auto ide: allIDEs[2]) {
1859  }
1860 
1861  _backtracked_completeness = matchE / trueParticleE;
1862 
1863  // TODO: set overlay purity
1864 
1865  _backtracked_theta = trueParticle->Momentum().Theta();
1866  _backtracked_phi = trueParticle->Momentum().Phi();
1867 
1868  _backtracked_px = trueParticle->Momentum().Px();
1869  _backtracked_py = trueParticle->Momentum().Py();
1870  _backtracked_pz = trueParticle->Momentum().Pz();
1871 
1872  _backtracked_end_x = trueParticle->EndPosition().X();
1873  _backtracked_end_y = trueParticle->EndPosition().Y();
1874  _backtracked_end_z = trueParticle->EndPosition().Z();
1875 
1876  _backtracked_start_x = trueParticle->Position().X();
1877  _backtracked_start_y = trueParticle->Position().Y();
1878  _backtracked_start_z = trueParticle->Position().Z();
1879  _backtracked_start_t = trueParticle->Position().T();
1880 
1884 
1885  // save the trajectory
1886  for (unsigned i_traj = 0; i_traj < trueParticle->NumberTrajectoryPoints(); i_traj++) {
1887  _backtracked_x.push_back(trueParticle->Vx(i_traj));
1888  _backtracked_y.push_back(trueParticle->Vy(i_traj));
1889  _backtracked_z.push_back(trueParticle->Vz(i_traj));
1890 
1891  _backtracked_dirx.push_back(trueParticle->Px(i_traj) / trueParticle->P(i_traj));
1892  _backtracked_diry.push_back(trueParticle->Py(i_traj) / trueParticle->P(i_traj));
1893  _backtracked_dirz.push_back(trueParticle->Pz(i_traj) / trueParticle->P(i_traj));
1894  }
1895 
1896  // also map between wires and the trajectory
1897  //
1898  // First setup all the traj containers
1906  _backtracked_de_c_u.insert(_backtracked_de_c_u.end(), _backtracked_c_u.size(), 0.);
1909 
1917  _backtracked_de_c_v.insert(_backtracked_de_c_v.end(), _backtracked_c_v.size(), 0.);
1920 
1928  _backtracked_de_c_y.insert(_backtracked_de_c_y.end(), _backtracked_c_y.size(), 0.);
1931 
1932  for (geo::TPCID tpc: geometry->IterateTPCIDs()) {
1933  for (geo::PlaneID planeID: geometry->IteratePlaneIDs(tpc)) {
1934  auto const &plane = planeID.Plane;
1935  if (plane > 2) continue; // protect against bad plane ID
1936 
1937  int lastWire = -1000000;
1938  int last_traj = 0;
1939  for (unsigned i_traj = 0; i_traj < trueParticle->NumberTrajectoryPoints()-1; i_traj++) {
1940  TVector3 thispoint = trueParticle->Position(i_traj).Vect();
1941  TVector3 nextpoint = trueParticle->Position(i_traj+1).Vect();
1942 
1943  geo::Point_t thispoint_p(thispoint.X(), thispoint.Y(), thispoint.Z());
1944  geo::Point_t nextpoint_p(nextpoint.X(), nextpoint.Y(), nextpoint.Z());
1945 
1946  double thiswirecoord = geometry->WireCoordinate(thispoint_p, planeID);
1947  double nextwirecoord = geometry->WireCoordinate(nextpoint_p, planeID);
1948  int wireStart = std::nearbyint((thiswirecoord >= nextwirecoord) ? std::floor(thiswirecoord) : std::ceil(thiswirecoord));
1949  int wireEnd = std::nearbyint((thiswirecoord >= nextwirecoord) ? std::floor(nextwirecoord) : std::ceil(nextwirecoord));
1950  // if we're not crossing a wire continue
1951  if (wireStart == wireEnd) continue;
1952 
1953  // check the validity of the range of wires
1954  if (!(wireStart >= 0 && wireStart < (int)geometry->Plane(planeID).Nwires())) continue;
1955  if (!(wireEnd >= 0 && wireEnd <= (int)geometry->Plane(planeID).Nwires())) continue;
1956 
1957  // if this wire is the same as the last skip it
1958  if (wireStart == lastWire) {
1959  if (wireStart < wireEnd) wireStart ++;
1960  else wireStart --;
1961  }
1962  // again continue if this wouldn't cross a new wire
1963  if (wireStart == wireEnd) continue;
1964 
1965  // load the trajectory information at this point
1966  double locX = trueParticle->Position(i_traj).X();
1967  double locY = trueParticle->Position(i_traj).Y();
1968  double locZ = trueParticle->Position(i_traj).Z();
1969  double dirX = trueParticle->Momentum(i_traj).Vect().Unit().X();
1970  double dirY = trueParticle->Momentum(i_traj).Vect().Unit().Y();
1971  double dirZ = trueParticle->Momentum(i_traj).Vect().Unit().Z();
1972  double deltaE = (trueParticle->Momentum(last_traj).E() - trueParticle->Momentum(i_traj+1).E()) / abs(wireEnd - wireStart); // average dE over wires
1973 
1974  double pitch = calcPitch(geometry, planeID, trueParticle->Position(i_traj).Vect(), trueParticle->Momentum(i_traj).Vect().Unit());
1975  double pitchSCE = calcPitch(geometry, planeID, trueParticle->Position(i_traj).Vect(), trueParticle->Momentum(i_traj).Vect().Unit(), spacecharge);
1976 
1977  // save
1978  int incl = wireStart < wireEnd ? 1: -1;
1979  for (int wire = wireStart; wire != wireEnd; wire += incl) {
1980  lastWire = wire;
1981  unsigned channel = geometry->PlaneWireToChannel(planeID.Plane, wire, planeID.TPC, planeID.Cryostat);
1982 
1983  if (plane == 0) {
1984  int index = -1;
1985  for (unsigned i_test = 0; i_test < _backtracked_c_u.size(); i_test++) {
1986  if (_backtracked_c_u[i_test] == channel) {
1987  index = i_test;
1988  break;
1989  }
1990  }
1991  if (index < 0) continue;
1992 
1993  _backtracked_nloc_c_u[index] ++;
1994  _backtracked_locx_c_u[index] = locX;
1995  _backtracked_locy_c_u[index] = locY;
1996  _backtracked_locz_c_u[index] = locZ;
1997  _backtracked_dirx_c_u[index] = dirX;
1998  _backtracked_diry_c_u[index] = dirY;
1999  _backtracked_dirz_c_u[index] = dirZ;
2000  _backtracked_de_c_u[index] = deltaE;
2001  _backtracked_pitch_c_u[index] = pitch;
2002  _backtracked_scepitch_c_u[index] = pitchSCE;
2003  }
2004  else if (plane == 1) {
2005  int index = -1;
2006  for (unsigned i_test = 0; i_test < _backtracked_c_v.size(); i_test++) {
2007  if (_backtracked_c_v[i_test] == channel) {
2008  index = i_test;
2009  break;
2010  }
2011  }
2012  if (index < 0) continue;
2013 
2014  _backtracked_nloc_c_v[index] ++;
2015  _backtracked_locx_c_v[index] = locX;
2016  _backtracked_locy_c_v[index] = locY;
2017  _backtracked_locz_c_v[index] = locZ;
2018  _backtracked_dirx_c_v[index] = dirX;
2019  _backtracked_diry_c_v[index] = dirY;
2020  _backtracked_dirz_c_v[index] = dirZ;
2021  _backtracked_de_c_v[index] = deltaE;
2022  _backtracked_pitch_c_v[index] = pitch;
2023  _backtracked_scepitch_c_v[index] = pitchSCE;
2024  }
2025  else if (plane == 2) {
2026  int index = -1;
2027  for (unsigned i_test = 0; i_test < _backtracked_c_y.size(); i_test++) {
2028  if (_backtracked_c_y[i_test] == channel) {
2029  index = i_test;
2030  break;
2031  }
2032  }
2033  if (index < 0) continue;
2034 
2035  _backtracked_nloc_c_y[index] ++;
2036  _backtracked_locx_c_y[index] = locX;
2037  _backtracked_locy_c_y[index] = locY;
2038  _backtracked_locz_c_y[index] = locZ;
2039  _backtracked_dirx_c_y[index] = dirX;
2040  _backtracked_diry_c_y[index] = dirY;
2041  _backtracked_dirz_c_y[index] = dirZ;
2042  _backtracked_de_c_y[index] = deltaE;
2043  _backtracked_pitch_c_y[index] = pitch;
2044  _backtracked_scepitch_c_y[index] = pitchSCE;
2045  }
2046 
2047 
2048  }
2049  last_traj = i_traj;
2050  }
2051  }
2052  }
2053 
2054  // TODO: implement spacecharge
2056  // TODO: do something special for electrons and photons???
2057  // if (mcp.pdg == 11 || mcp.pdg == 22)
2058  // {
2059  // reco_st[0] += searchingfornues::x_offset(mcp.start_t);
2060  // }
2062  _backtracked_sce_start_x = reco_st[0];
2063  _backtracked_sce_start_y = reco_st[1];
2064  _backtracked_sce_start_z = reco_st[2];
2065 
2066  _backtracked_sce_start_U = XYZtoPlanecoordinate(reco_st[0], reco_st[1], reco_st[2], 0);
2067  _backtracked_sce_start_V = XYZtoPlanecoordinate(reco_st[0], reco_st[1], reco_st[2], 1);
2068  _backtracked_sce_start_Y = XYZtoPlanecoordinate(reco_st[0], reco_st[1], reco_st[2], 2);
2069  _backtracked_process_is_stopping = (trueParticle->EndProcess() == "Decay" ||
2070  trueParticle->EndProcess() == "CoupledTransportation" ||
2071  trueParticle->EndProcess() == "FastScintillation" ||
2072  trueParticle->EndProcess() == "muMinusCaptureAtRest" ||
2073  trueParticle->EndProcess() == "LArVoxelReadoutScoringProcess");
2074 
2075  std::cout << "PID: " << _backtracked_pdg << " Process: " << trueParticle->EndProcess() << " is stopping: " << _backtracked_process_is_stopping << std::endl;
2076 
2077  std::vector<geoalgo::AABox> aa_volumes;
2078  _backtracked_end_in_tpc = false;
2079  for (const geo::BoxBoundedGeo &AV: activeVolumes) {
2080  if (AV.ContainsPosition(trueParticle->Position().Vect()) && AV.ContainsPosition(trueParticle->EndPosition().Vect())) {
2081  _backtracked_end_in_tpc = true;
2082  aa_volumes.emplace_back(AV.MinX(), AV.MinY(), AV.MinZ(), AV.MaxX(), AV.MaxY(), AV.MaxZ());
2083  break;
2084  }
2085  }
2086 
2087  _backtracked_length_start_to_end = (trueParticle->Position().Vect() - trueParticle->EndPosition().Vect()).Mag();
2088  _backtracked_length = 0.;
2089  for (unsigned i = 1; i < trueParticle->NumberTrajectoryPoints(); i++) {
2090  _backtracked_length += ContainedLength(trueParticle->Position(i-1).Vect(), trueParticle->Position(i).Vect(), aa_volumes);
2091  }
2092  }
2093 
2094  // Kinetic energy using tabulated stopping power (GeV)
2095  float mcs_momentum_muon = muon_range.range_p;
2096  float momentum_proton = proton_range.range_p;
2097  float energy_proton = std::sqrt(std::pow(momentum_proton, 2) + std::pow(proton->Mass(), 2)) - proton->Mass();
2098  float energy_muon = std::sqrt(std::pow(mcs_momentum_muon, 2) + std::pow(muon->Mass(), 2)) - muon->Mass();
2099 
2100  _trk_mcs_muon_mom = mcs_momentum_muon;
2101  _trk_energy_proton = energy_proton;
2102  _trk_energy_muon = energy_muon;
2103 
2104  _trk_theta = trk->Theta();
2105  _trk_phi = trk->Phi();
2106  // TODO: SCE
2107  _trk_len = trk->Length();
2108 
2109  _trk_dir_x = trk->StartDirection().X();
2110  _trk_dir_y = trk->StartDirection().Y();
2111  _trk_dir_z = trk->StartDirection().Z();
2112 
2113  _trk_start_x = trk->Start().X();
2114  _trk_start_y = trk->Start().Y();
2115  _trk_start_z = trk->Start().Z();
2116 
2117  _trk_end_x = trk->End().X();
2118  _trk_end_y = trk->End().Y();
2119  _trk_end_z = trk->End().Z();
2120 
2121  // TODO: SCE
2122  float _trk_start_sce[3];
2123  (void) _trk_start_sce;
2127 
2128  float _trk_end_sce[3];
2129  (void) _trk_end_sce;
2133 
2134  // fill other particle ID
2135  for (const art::Ptr<anab::ParticleID> pid: pids) {
2136 
2137  // Assign dummy values.
2138 
2139  double chi2_muon = 0.;
2140  double chi2_pion = 0.;
2141  double chi2_kaon = 0.;
2142  double chi2_proton = 0.;
2143  double pida = 0.;
2144  auto plane = pid->PlaneID().Plane;
2145 
2146  // Loop over algorithm scores and extract the ones we want.
2147  // Extract the plane from any matching algorithm.
2148 
2149  std::vector<anab::sParticleIDAlgScores> AlgScoresVec = pid->ParticleIDAlgScores();
2150  for (size_t i_algscore=0; i_algscore<AlgScoresVec.size(); i_algscore++){
2151  anab::sParticleIDAlgScores AlgScore = AlgScoresVec.at(i_algscore);
2152  if (AlgScore.fAlgName == "Chi2"){
2153  if (TMath::Abs(AlgScore.fAssumedPdg) == 13) { // chi2mu
2154  chi2_muon = AlgScore.fValue;
2155  if (AlgScore.fPlaneMask.count() == 1) {
2156  if (AlgScore.fPlaneMask.test(0)) plane = 0;
2157  if (AlgScore.fPlaneMask.test(1)) plane = 1;
2158  if (AlgScore.fPlaneMask.test(2)) plane = 2;
2159  }
2160  }
2161  else if (TMath::Abs(AlgScore.fAssumedPdg) == 211) { // chi2pi
2162  chi2_pion = AlgScore.fValue;
2163  if (AlgScore.fPlaneMask.count() == 1) {
2164  if (AlgScore.fPlaneMask.test(0)) plane = 0;
2165  if (AlgScore.fPlaneMask.test(1)) plane = 1;
2166  if (AlgScore.fPlaneMask.test(2)) plane = 2;
2167  }
2168  }
2169  else if (TMath::Abs(AlgScore.fAssumedPdg) == 321) { // chi2ka
2170  chi2_kaon = AlgScore.fValue;
2171  if (AlgScore.fPlaneMask.count() == 1) {
2172  if (AlgScore.fPlaneMask.test(0)) plane = 0;
2173  if (AlgScore.fPlaneMask.test(1)) plane = 1;
2174  if (AlgScore.fPlaneMask.test(2)) plane = 2;
2175  }
2176  }
2177  else if (TMath::Abs(AlgScore.fAssumedPdg) == 2212) { // chi2pr
2178  chi2_proton = AlgScore.fValue;
2179  if (AlgScore.fPlaneMask.count() == 1) {
2180  if (AlgScore.fPlaneMask.test(0)) plane = 0;
2181  if (AlgScore.fPlaneMask.test(1)) plane = 1;
2182  if (AlgScore.fPlaneMask.test(2)) plane = 2;
2183  }
2184  }
2185  }
2186  else if (AlgScore.fVariableType==anab::kPIDA){
2187  pida = AlgScore.fValue;
2188  if (AlgScore.fPlaneMask.count() == 1) {
2189  if (AlgScore.fPlaneMask.test(0)) plane = 0;
2190  if (AlgScore.fPlaneMask.test(1)) plane = 1;
2191  if (AlgScore.fPlaneMask.test(2)) plane = 2;
2192  }
2193  }
2194  }
2195  if (plane > 2) continue;
2196 
2197  if (plane == 0) {
2198  // TODO: bragg variable??
2199  _trk_bragg_p_u = -1;
2200  _trk_bragg_mu_u = -1;
2201  _trk_bragg_mip_u = -1;
2202 
2203  _trk_pid_chipr_u = chi2_proton;
2204  _trk_pid_chika_u = chi2_kaon;
2205  _trk_pid_chipi_u = chi2_pion;
2206  _trk_pid_chimu_u = chi2_muon;
2207  _trk_pida_u = pida;
2208  }
2209  else if (plane == 1) {
2210  // TODO: bragg variable??
2211  _trk_bragg_p_v = -1;
2212  _trk_bragg_mu_v = -1;
2213  _trk_bragg_mip_v = -1;
2214 
2215  _trk_pid_chipr_v = chi2_proton;
2216  _trk_pid_chika_v = chi2_kaon;
2217  _trk_pid_chipi_v = chi2_pion;
2218  _trk_pid_chimu_v = chi2_muon;
2219  _trk_pida_v = pida;
2220  }
2221  else if (plane == 2) {
2222  // TODO: bragg variable??
2223  _trk_bragg_p_y = -1;
2224  _trk_bragg_mu_y = -1;
2225  _trk_bragg_mip_y = -1;
2226 
2227  _trk_pid_chipr_y = chi2_proton;
2228  _trk_pid_chika_y = chi2_kaon;
2229  _trk_pid_chipi_y = chi2_pion;
2230  _trk_pid_chimu_y = chi2_muon;
2231  _trk_pida_y = pida;
2232  }
2233  }
2234 
2235  // fill Calorimetry
2236  for (const art::Ptr<anab::Calorimetry> calo : calos)
2237  {
2238  // TODO: will this work for ICARUS?
2239  auto const& plane = calo->PlaneID().Plane;
2240  if (plane>2)
2241  {
2242  continue;
2243  }
2244  auto const& xyz_v = calo->XYZ();
2245 
2246  if (plane == 0)
2247  {
2248  _trk_calo_range_u = calo->Range();
2249  _dqdx_u = calo->dQdx();
2250  _rr_u = calo->ResidualRange();
2251  _pitch_u = calo->TrkPitchVec();
2252  for (auto xyz : xyz_v)
2253  {
2254  _w_u.push_back(geometry->WireCoordinate(xyz, calo->PlaneID()));
2255  _t_u.push_back(dprop.ConvertXToTicks(xyz.X(), calo->PlaneID()));
2256  _x_u.push_back(xyz.X());
2257  _y_u.push_back(xyz.Y());
2258  _z_u.push_back(xyz.Z());
2259 
2260  float _dir_u[3];
2261  TrkDirectionAtXYZ(*trk, xyz.X(), xyz.Y(), xyz.Z(), _dir_u);
2262  _dir_x_u.push_back(_dir_u[0]);
2263  _dir_y_u.push_back(_dir_u[1]);
2264  _dir_z_u.push_back(_dir_u[2]);
2265  }
2266  // TODO: ShrFit???
2267  _dedx_u = calo->dEdx();
2268  _dedx_channel_u = FinddEdxHits(*calo, trkHits);
2269 
2270  }
2271  else if (plane == 1)
2272  {
2273  _trk_calo_range_v = calo->Range();
2274 
2275  _dqdx_v = calo->dQdx();
2276  _rr_v = calo->ResidualRange();
2277  _pitch_v = calo->TrkPitchVec();
2278  for (auto xyz : xyz_v)
2279  {
2280  _w_v.push_back(geometry->WireCoordinate(xyz, calo->PlaneID()));
2281  _t_v.push_back(dprop.ConvertXToTicks(xyz.X(), calo->PlaneID()));
2282  _x_v.push_back(xyz.X());
2283  _y_v.push_back(xyz.Y());
2284  _z_v.push_back(xyz.Z());
2285 
2286  float _dir_v[3];
2287  TrkDirectionAtXYZ(*trk, xyz.X(), xyz.Y(), xyz.Z(), _dir_v);
2288  _dir_x_v.push_back(_dir_v[0]);
2289  _dir_y_v.push_back(_dir_v[1]);
2290  _dir_z_v.push_back(_dir_v[2]);
2291  }
2292  // TODO: ShrFit???
2293  _dedx_v = calo->dEdx();
2294  _dedx_channel_v = FinddEdxHits(*calo, trkHits);
2295  }
2296  else if (plane == 2) //collection
2297  {
2298  _trk_calo_range_y = calo->Range();
2299 
2300  _dqdx_y = calo->dQdx();
2301  _rr_y = calo->ResidualRange();
2302  _pitch_y = calo->TrkPitchVec();
2303  for (auto xyz : xyz_v)
2304  {
2305  _w_y.push_back(geometry->WireCoordinate(xyz, calo->PlaneID()));
2306  _t_y.push_back(dprop.ConvertXToTicks(xyz.X(), calo->PlaneID()));
2307  _x_y.push_back(xyz.X());
2308  _y_y.push_back(xyz.Y());
2309  _z_y.push_back(xyz.Z());
2310 
2311  float _dir_y[3];
2312  TrkDirectionAtXYZ(*trk, xyz.X(), xyz.Y(), xyz.Z(), _dir_y);
2313  _dir_x_y.push_back(_dir_y[0]);
2314  _dir_y_y.push_back(_dir_y[1]);
2315  _dir_z_y.push_back(_dir_y[2]);
2316  }
2317  // TODO: ShrFit???
2318  _dedx_y = calo->dEdx();
2319  _dedx_channel_y = FinddEdxHits(*calo, trkHits);
2320  }
2321  }
2322 
2323  _calo_tree->Fill();
2324 }
geo::Length_t WireCoordinate(double YPos, double ZPos, geo::PlaneID const &planeid) const
Returns the index of the nearest wire to the specified position.
PlaneGeo const & Plane(unsigned int const p, unsigned int const tpc=0, unsigned int const cstat=0) const
Returns the specified wire.
const geo::GeometryCore * geometry
The data type to uniquely identify a Plane.
Definition: geo_types.h:472
void TrkDirectionAtXYZ(const recob::Track trk, const double x, const double y, const double z, float out[3])
std::vector< geo::WireID > ChannelToWire(raw::ChannelID_t const channel) const
Returns a list of wires connected to the specified TPC channel.
float fValue
Result of Particle ID algorithm/test.
Definition: ParticleID.h:28
IteratorBox< TPC_id_iterator,&GeometryCore::begin_TPC_id,&GeometryCore::end_TPC_id > IterateTPCIDs() const
Enables ranged-for loops on all TPC IDs of the detector.
float calcPitch(const geo::GeometryCore *geo, const geo::PlaneID &plane, TVector3 location, TVector3 direction, const spacecharge::SpaceCharge *SCEService=NULL)
std::bitset< 8 > fPlaneMask
Bitset for PlaneID used by algorithm, allowing for multiple planes and up to 8 total planes...
Definition: ParticleID.h:29
IteratorBox< plane_id_iterator,&GeometryCore::begin_plane_id,&GeometryCore::end_plane_id > IteratePlaneIDs() const
Enables ranged-for loops on all plane IDs of the detector.
std::string fAlgName
&lt; determined particle ID
Definition: ParticleID.h:23
process_name can override from command line with o or output calo
Definition: pid.fcl:40
T abs(T value)
kVariableType fVariableType
Variable type enum: defined in ParticleID_VariableTypeEnums.h. Set to kNotSet by default.
Definition: ParticleID.h:24
void True2RecoMappingXYZ(float t, float x, float y, float z, float out[3])
void FillHits(const detinfo::DetectorClocksData &clockData, const std::vector< art::Ptr< recob::Hit >> &hits, std::vector< float > &charge_u, std::vector< float > &charge_v, std::vector< float > &charge_y, std::vector< unsigned > &wire_u, std::vector< unsigned > &wire_v, std::vector< unsigned > &wire_y, std::vector< unsigned > &channel_u, std::vector< unsigned > &channel_v, std::vector< unsigned > &channel_y, std::vector< int > &multiplicity_u, std::vector< int > &multiplicity_v, std::vector< int > &multiplicity_y, std::vector< float > &width_u, std::vector< float > &width_v, std::vector< float > &width_y, std::vector< float > &time_u, std::vector< float > &time_v, std::vector< float > &time_y, std::vector< unsigned > &nhit_u, std::vector< unsigned > &nhit_v, std::vector< unsigned > &nhit_y, bool use_integral=true)
Ionization at a point of the TPC sensitive volume.
Definition: SimChannel.h:86
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:118
std::vector< unsigned > FinddEdxHits(const anab::Calorimetry &calo, const std::vector< art::Ptr< recob::Hit >> &hits)
The data type to uniquely identify a TPC.
Definition: geo_types.h:386
j template void())
Definition: json.hpp:3108
Description of geometry of one entire detector.
float range_p
Definition: RangeP.h:7
raw::ChannelID_t PlaneWireToChannel(WireID const &wireid) const
Returns the ID of the TPC channel connected to the specified wire.
A base class aware of world box coordinatesAn object describing a simple shape can inherit from this ...
Definition: BoxBoundedGeo.h:33
float XYZtoPlanecoordinate(const float x, const float y, const float z, const int plane)
unsigned int Nwires() const
Number of wires in this plane.
Definition: PlaneGeo.h:269
do i e
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
float ContainedLength(const TVector3 &v0, const TVector3 &v1, const std::vector< geoalgo::AABox > &boxes)
BEGIN_PROLOG could also be cout
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:117
int fAssumedPdg
PDG of particle hypothesis assumed by algorithm, if applicable. Set to 0 by default.
Definition: ParticleID.h:27
void analysis::CalorimetryAnalysis::fillDefault ( )

Fill Default info for event associated to neutrino.

Definition at line 819 of file CalorimetryAnalysis_module.cc.

820 {
821  // backtracking information
822  _backtracked_pdg = std::numeric_limits<int>::lowest(); // PDG code of backtracked particle
823  _backtracked_e = std::numeric_limits<float>::lowest(); // energy of backtracked particle
824  _backtracked_deposited_e_u = std::numeric_limits<float>::lowest(); // energy of backtracked particle
825  _backtracked_deposited_e_v = std::numeric_limits<float>::lowest(); // energy of backtracked particle
826  _backtracked_deposited_e_y = std::numeric_limits<float>::lowest(); // energy of backtracked particle
827  _backtracked_q_u = std::numeric_limits<float>::lowest();
828  _backtracked_q_v = std::numeric_limits<float>::lowest();
829  _backtracked_q_y = std::numeric_limits<float>::lowest();
830  _backtracked_qtotal_u = std::numeric_limits<float>::lowest();
831  _backtracked_qtotal_v = std::numeric_limits<float>::lowest();
832  _backtracked_qtotal_y = std::numeric_limits<float>::lowest();
833  _backtracked_purity = std::numeric_limits<float>::lowest(); // purity of backtracking
834  _backtracked_completeness = std::numeric_limits<float>::lowest(); // completeness of backtracking
835  _backtracked_overlay_purity = std::numeric_limits<float>::lowest(); // purity of overlay
837  _backtracked_end_in_tpc = false;
838 
839  _backtracked_pc_q_u.clear();
840  _backtracked_pc_q_v.clear();
841  _backtracked_pc_q_y.clear();
842 
843  _backtracked_pc_e_u.clear();
844  _backtracked_pc_e_v.clear();
845  _backtracked_pc_e_y.clear();
846 
847  _backtracked_c_u.clear();
848  _backtracked_c_v.clear();
849  _backtracked_c_y.clear();
850 
851  _backtracked_nloc_c_u.clear();
852  _backtracked_locx_c_u.clear();
853  _backtracked_locy_c_u.clear();
854  _backtracked_locz_c_u.clear();
855  _backtracked_dirx_c_u.clear();
856  _backtracked_diry_c_u.clear();
857  _backtracked_dirz_c_u.clear();
858  _backtracked_de_c_u.clear();
859  _backtracked_pitch_c_u.clear();
861 
862  _backtracked_nloc_c_v.clear();
863  _backtracked_locx_c_v.clear();
864  _backtracked_locy_c_v.clear();
865  _backtracked_locz_c_v.clear();
866  _backtracked_dirx_c_v.clear();
867  _backtracked_diry_c_v.clear();
868  _backtracked_dirz_c_v.clear();
869  _backtracked_de_c_v.clear();
870  _backtracked_pitch_c_v.clear();
872 
873  _backtracked_nloc_c_y.clear();
874  _backtracked_locx_c_y.clear();
875  _backtracked_locy_c_y.clear();
876  _backtracked_locz_c_y.clear();
877  _backtracked_dirx_c_y.clear();
878  _backtracked_diry_c_y.clear();
879  _backtracked_dirz_c_y.clear();
880  _backtracked_de_c_y.clear();
881  _backtracked_pitch_c_y.clear();
883 
884  _backtracked_x.clear();
885  _backtracked_y.clear();
886  _backtracked_z.clear();
887 
888  _backtracked_dirx.clear();
889  _backtracked_diry.clear();
890  _backtracked_dirz.clear();
891 
892  _backtracked_length = std::numeric_limits<float>::lowest();
893  _backtracked_length_start_to_end = std::numeric_limits<float>::lowest();
894 
895  _backtracked_theta = std::numeric_limits<float>::lowest();
896  _backtracked_phi = std::numeric_limits<float>::lowest();
897 
898  _backtracked_px = std::numeric_limits<float>::lowest();
899  _backtracked_py = std::numeric_limits<float>::lowest();
900  _backtracked_pz = std::numeric_limits<float>::lowest();
901 
902  _backtracked_end_x = std::numeric_limits<float>::lowest();
903  _backtracked_end_y = std::numeric_limits<float>::lowest();
904  _backtracked_end_z = std::numeric_limits<float>::lowest();
905 
906  _backtracked_start_x = std::numeric_limits<float>::lowest();
907  _backtracked_start_y = std::numeric_limits<float>::lowest();
908  _backtracked_start_z = std::numeric_limits<float>::lowest();
909  _backtracked_start_t = std::numeric_limits<float>::lowest();
910  _backtracked_start_U = std::numeric_limits<float>::lowest();
911  _backtracked_start_V = std::numeric_limits<float>::lowest();
912  _backtracked_start_Y = std::numeric_limits<float>::lowest();
913  _backtracked_sce_start_x = std::numeric_limits<float>::lowest();
914  _backtracked_sce_start_y = std::numeric_limits<float>::lowest();
915  _backtracked_sce_start_z = std::numeric_limits<float>::lowest();
916  _backtracked_sce_start_U = std::numeric_limits<float>::lowest();
917  _backtracked_sce_start_V = std::numeric_limits<float>::lowest();
918  _backtracked_sce_start_Y = std::numeric_limits<float>::lowest();
919 
920  _generation = std::numeric_limits<uint>::lowest();
921  _shr_daughters = std::numeric_limits<uint>::lowest();
922  _trk_daughters = std::numeric_limits<uint>::lowest();
923  _daughters = std::numeric_limits<uint>::lowest();
924 
925  // track information
926  _trk_score = std::numeric_limits<float>::lowest();
927 
928  _trk_theta = std::numeric_limits<float>::lowest();
929  _trk_phi = std::numeric_limits<float>::lowest();
930  _trk_len = std::numeric_limits<float>::lowest();
931 
932  _trk_calo_range_u = std::numeric_limits<float>::lowest();
933  _trk_calo_range_v = std::numeric_limits<float>::lowest();
934  _trk_calo_range_y = std::numeric_limits<float>::lowest();
935 
936  _trk_dir_x = std::numeric_limits<float>::lowest();
937  _trk_dir_y = std::numeric_limits<float>::lowest();
938  _trk_dir_z = std::numeric_limits<float>::lowest();
939 
940  _trk_start_x = std::numeric_limits<float>::lowest();
941  _trk_start_y = std::numeric_limits<float>::lowest();
942  _trk_start_z = std::numeric_limits<float>::lowest();
943 
944  _trk_sce_start_x = std::numeric_limits<float>::lowest();
945  _trk_sce_start_y = std::numeric_limits<float>::lowest();
946  _trk_sce_start_z = std::numeric_limits<float>::lowest();
947 
948  _trk_end_x = std::numeric_limits<float>::lowest();
949  _trk_end_y = std::numeric_limits<float>::lowest();
950  _trk_end_z = std::numeric_limits<float>::lowest();
951 
952  _trk_sce_end_x = std::numeric_limits<float>::lowest();
953  _trk_sce_end_y = std::numeric_limits<float>::lowest();
954  _trk_sce_end_z = std::numeric_limits<float>::lowest();
955 
956  _trk_bragg_p_y = std::numeric_limits<float>::lowest();
957  _trk_bragg_mu_y = std::numeric_limits<float>::lowest();
958  _trk_bragg_mip_y = std::numeric_limits<float>::lowest();
959  _trk_pid_chipr_y = std::numeric_limits<float>::lowest();
960  _trk_pid_chika_y = std::numeric_limits<float>::lowest();
961  _trk_pid_chipi_y = std::numeric_limits<float>::lowest();
962  _trk_pid_chimu_y = std::numeric_limits<float>::lowest();
963  _trk_pida_y = std::numeric_limits<float>::lowest();
964 
965  _trk_bragg_p_u = std::numeric_limits<float>::lowest();
966  _trk_bragg_mu_u = std::numeric_limits<float>::lowest();
967  _trk_bragg_mip_u = std::numeric_limits<float>::lowest();
968  _trk_pid_chipr_u = std::numeric_limits<float>::lowest();
969  _trk_pid_chika_u = std::numeric_limits<float>::lowest();
970  _trk_pid_chipi_u = std::numeric_limits<float>::lowest();
971  _trk_pid_chimu_u = std::numeric_limits<float>::lowest();
972  _trk_pida_u = std::numeric_limits<float>::lowest();
973 
974  _trk_bragg_p_v = std::numeric_limits<float>::lowest();
975  _trk_bragg_mu_v = std::numeric_limits<float>::lowest();
976  _trk_bragg_mip_v = std::numeric_limits<float>::lowest();
977  _trk_pid_chipr_v = std::numeric_limits<float>::lowest();
978  _trk_pid_chika_v = std::numeric_limits<float>::lowest();
979  _trk_pid_chipi_v = std::numeric_limits<float>::lowest();
980  _trk_pid_chimu_v = std::numeric_limits<float>::lowest();
981  _trk_pida_v = std::numeric_limits<float>::lowest();
982 
983  _trk_bragg_p_three_planes = std::numeric_limits<float>::lowest();
984 
985  _longest = std::numeric_limits<int>::lowest();
986 
987  _trk_mcs_muon_mom = std::numeric_limits<float>::lowest();
988  _trk_energy_proton = std::numeric_limits<float>::lowest();
989  _trk_energy_muon = std::numeric_limits<float>::lowest();
990 
991 
992  _integrated_charge_u.clear();
993  _integrated_charge_v.clear();
994  _integrated_charge_y.clear();
995 
996  _trkhit_charge_u.clear();
997  _trkhit_charge_v.clear();
998  _trkhit_charge_y.clear();
999  _trkhit_wire_u.clear();
1000  _trkhit_wire_v.clear();
1001  _trkhit_wire_y.clear();
1002  _trkhit_channel_u.clear();
1003  _trkhit_channel_v.clear();
1004  _trkhit_channel_y.clear();
1005  _trkhit_multiplicity_u.clear();
1006  _trkhit_multiplicity_v.clear();
1007  _trkhit_multiplicity_y.clear();
1008  _trkhit_width_u.clear();
1009  _trkhit_width_v.clear();
1010  _trkhit_width_y.clear();
1011  _trkhit_time_u.clear();
1012  _trkhit_time_v.clear();
1013  _trkhit_time_y.clear();
1014  _trkhit_nhit_u.clear();
1015  _trkhit_nhit_v.clear();
1016  _trkhit_nhit_y.clear();
1017 
1018  _areahit_charge_u.clear();
1019  _areahit_charge_v.clear();
1020  _areahit_charge_y.clear();
1021  _areahit_wire_u.clear();
1022  _areahit_wire_v.clear();
1023  _areahit_wire_y.clear();
1024  _areahit_channel_u.clear();
1025  _areahit_channel_v.clear();
1026  _areahit_channel_y.clear();
1027  _areahit_multiplicity_u.clear();
1028  _areahit_multiplicity_v.clear();
1029  _areahit_multiplicity_y.clear();
1030  _areahit_width_u.clear();
1031  _areahit_width_v.clear();
1032  _areahit_width_y.clear();
1033  _areahit_time_u.clear();
1034  _areahit_time_v.clear();
1035  _areahit_time_y.clear();
1036  _areahit_nhit_u.clear();
1037  _areahit_nhit_v.clear();
1038  _areahit_nhit_y.clear();
1039 
1040  _allhit_charge_u.clear();
1041  _allhit_charge_v.clear();
1042  _allhit_charge_y.clear();
1043  _allhit_wire_u.clear();
1044  _allhit_wire_v.clear();
1045  _allhit_wire_y.clear();
1046  _allhit_channel_u.clear();
1047  _allhit_channel_v.clear();
1048  _allhit_channel_y.clear();
1049  _allhit_multiplicity_u.clear();
1050  _allhit_multiplicity_v.clear();
1051  _allhit_multiplicity_y.clear();
1052  _allhit_width_u.clear();
1053  _allhit_width_v.clear();
1054  _allhit_width_y.clear();
1055  _allhit_time_u.clear();
1056  _allhit_time_v.clear();
1057  _allhit_time_y.clear();
1058  _allhit_nhit_u.clear();
1059  _allhit_nhit_v.clear();
1060  _allhit_nhit_y.clear();
1061 
1062  _calohit_charge_u.clear();
1063  _calohit_charge_v.clear();
1064  _calohit_charge_y.clear();
1065  _calohit_wire_u.clear();
1066  _calohit_wire_v.clear();
1067  _calohit_wire_y.clear();
1068  _calohit_channel_u.clear();
1069  _calohit_channel_v.clear();
1070  _calohit_channel_y.clear();
1071  _calohit_multiplicity_u.clear();
1072  _calohit_multiplicity_v.clear();
1073  _calohit_multiplicity_y.clear();
1074  _calohit_width_u.clear();
1075  _calohit_width_v.clear();
1076  _calohit_width_y.clear();
1077  _calohit_time_u.clear();
1078  _calohit_time_v.clear();
1079  _calohit_time_y.clear();
1080  _calohit_nhit_u.clear();
1081  _calohit_nhit_v.clear();
1082  _calohit_nhit_y.clear();
1083 
1084  _sumhit_charge_u.clear();
1085  _sumhit_charge_v.clear();
1086  _sumhit_charge_y.clear();
1087  _sumhit_wire_u.clear();
1088  _sumhit_wire_v.clear();
1089  _sumhit_wire_y.clear();
1090  _sumhit_channel_u.clear();
1091  _sumhit_channel_v.clear();
1092  _sumhit_channel_y.clear();
1093  _sumhit_multiplicity_u.clear();
1094  _sumhit_multiplicity_v.clear();
1095  _sumhit_multiplicity_y.clear();
1096  _sumhit_width_u.clear();
1097  _sumhit_width_v.clear();
1098  _sumhit_width_y.clear();
1099  _sumhit_time_u.clear();
1100  _sumhit_time_v.clear();
1101  _sumhit_time_y.clear();
1102  _sumhit_nhit_u.clear();
1103  _sumhit_nhit_v.clear();
1104  _sumhit_nhit_y.clear();
1105 
1106  // dedx vector
1107  _dqdx_u.clear();
1108  _dqdx_v.clear();
1109  _dqdx_y.clear();
1110 
1111  _dedx_u.clear();
1112  _dedx_v.clear();
1113  _dedx_y.clear();
1114 
1115  _dedx_channel_u.clear();
1116  _dedx_channel_v.clear();
1117  _dedx_channel_y.clear();
1118 
1119  _rr_u.clear();
1120  _rr_v.clear();
1121  _rr_y.clear();
1122 
1123  _pitch_u.clear();
1124  _pitch_v.clear();
1125  _pitch_y.clear();
1126 
1127  _sx.clear();
1128  _sy.clear();
1129  _sz.clear();
1130 
1131  _w_u.clear();
1132  _w_v.clear();
1133  _w_y.clear();
1134 
1135  _t_u.clear();
1136  _t_v.clear();
1137  _t_y.clear();
1138 
1139  _x_u.clear();
1140  _x_v.clear();
1141  _x_y.clear();
1142 
1143  _y_u.clear();
1144  _y_v.clear();
1145  _y_y.clear();
1146 
1147  _z_u.clear();
1148  _z_v.clear();
1149  _z_y.clear();
1150 
1151  _dir_x_u.clear();
1152  _dir_x_v.clear();
1153  _dir_x_y.clear();
1154 
1155  _dir_y_u.clear();
1156  _dir_y_v.clear();
1157  _dir_y_y.clear();
1158 
1159  _dir_z_u.clear();
1160  _dir_z_v.clear();
1161  _dir_z_y.clear();
1162 }
void analysis::CalorimetryAnalysis::resetTTree ( TTree *  _tree)

reset ttree branches

Definition at line 1518 of file CalorimetryAnalysis_module.cc.

1519 {
1520 }
void analysis::CalorimetryAnalysis::respondToOpenInputFile ( const art::FileBlock &  fb)
inlineoverride

Definition at line 149 of file CalorimetryAnalysis_module.cc.

149  {
150  (void) fb;
151  _fileno ++;
152  }
j template void())
Definition: json.hpp:3108
void analysis::CalorimetryAnalysis::setBranches ( TTree *  _tree)

set branches for TTree

Definition at line 1164 of file CalorimetryAnalysis_module.cc.

1165 {
1166  _calo_tree->Branch("fileno", &_fileno, "fileno/i");
1167  _calo_tree->Branch("run", &_run, "run/i");
1168  _calo_tree->Branch("sub", &_sub, "sub/i");
1169  _calo_tree->Branch("evt", &_evt, "evt/i");
1170  _calo_tree->Branch("pfpno", &_pfpno, "pfpno/i");
1171  _calo_tree->Branch("trkid", &_trkid, "trkid/i");
1172 
1173  // backtracking information
1174  _calo_tree->Branch("backtracked_pdg", &_backtracked_pdg, "backtracked_pdg/I"); // PDG code of backtracked particle
1175  _calo_tree->Branch("backtracked_e", &_backtracked_e, "backtracked_e/F"); // energy of backtracked particle
1176  _calo_tree->Branch("backtracked_deposited_e_u", &_backtracked_deposited_e_u, "backtracked_deposited_e_u/F"); // energy of backtracked particle
1177  _calo_tree->Branch("backtracked_deposited_e_v", &_backtracked_deposited_e_v, "backtracked_deposited_e_v/F"); // energy of backtracked particle
1178  _calo_tree->Branch("backtracked_deposited_e_y", &_backtracked_deposited_e_y, "backtracked_deposited_e_y/F"); // energy of backtracked particle
1179  _calo_tree->Branch("backtracked_q_u", &_backtracked_q_u, "backtracked_q_u/F"); // energy of backtracked particle
1180  _calo_tree->Branch("backtracked_q_v", &_backtracked_q_v, "backtracked_q_v/F"); // energy of backtracked particle
1181  _calo_tree->Branch("backtracked_q_y", &_backtracked_q_y, "backtracked_q_y/F"); // energy of backtracked particle
1182  _calo_tree->Branch("backtracked_qtotal_u", &_backtracked_qtotal_u, "backtracked_qtotal_u/F"); // energy of backtracked particle
1183  _calo_tree->Branch("backtracked_qtotal_v", &_backtracked_qtotal_v, "backtracked_qtotal_v/F"); // energy of backtracked particle
1184  _calo_tree->Branch("backtracked_qtotal_y", &_backtracked_qtotal_y, "backtracked_qtotal_y/F"); // energy of backtracked particle
1185 
1186  _calo_tree->Branch("backtracked_pc_q_u", "std::vector<float>", &_backtracked_pc_q_u);
1187  _calo_tree->Branch("backtracked_pc_q_v", "std::vector<float>", &_backtracked_pc_q_v);
1188  _calo_tree->Branch("backtracked_pc_q_y", "std::vector<float>", &_backtracked_pc_q_y);
1189 
1190  _calo_tree->Branch("backtracked_pc_e_u", "std::vector<float>", &_backtracked_pc_e_u);
1191  _calo_tree->Branch("backtracked_pc_e_v", "std::vector<float>", &_backtracked_pc_e_v);
1192  _calo_tree->Branch("backtracked_pc_e_y", "std::vector<float>", &_backtracked_pc_e_y);
1193 
1194  _calo_tree->Branch("backtracked_c_u", "std::vector<unsigned>", &_backtracked_c_u);
1195  _calo_tree->Branch("backtracked_c_v", "std::vector<unsigned>", &_backtracked_c_v);
1196  _calo_tree->Branch("backtracked_c_y", "std::vector<unsigned>", &_backtracked_c_y);
1197 
1198  _calo_tree->Branch("backtracked_nloc_c_u", "std::vector<int>", &_backtracked_nloc_c_u);
1199  _calo_tree->Branch("backtracked_locx_c_u", "std::vector<float>", &_backtracked_locx_c_u);
1200  _calo_tree->Branch("backtracked_locy_c_u", "std::vector<float>", &_backtracked_locy_c_u);
1201  _calo_tree->Branch("backtracked_locz_c_u", "std::vector<float>", &_backtracked_locz_c_u);
1202  _calo_tree->Branch("backtracked_dirx_c_u", "std::vector<float>", &_backtracked_dirx_c_u);
1203  _calo_tree->Branch("backtracked_diry_c_u", "std::vector<float>", &_backtracked_diry_c_u);
1204  _calo_tree->Branch("backtracked_dirz_c_u", "std::vector<float>", &_backtracked_dirz_c_u);
1205  _calo_tree->Branch("backtracked_de_c_u", "std::vector<float>", &_backtracked_de_c_u);
1206  _calo_tree->Branch("backtracked_pitch_c_u", "std::vector<float>", &_backtracked_pitch_c_u);
1207  _calo_tree->Branch("backtracked_scepitch_c_u", "std::vector<float>", &_backtracked_scepitch_c_u);
1208 
1209  _calo_tree->Branch("backtracked_nloc_c_v", "std::vector<int>", &_backtracked_nloc_c_v);
1210  _calo_tree->Branch("backtracked_locx_c_v", "std::vector<float>", &_backtracked_locx_c_v);
1211  _calo_tree->Branch("backtracked_locy_c_v", "std::vector<float>", &_backtracked_locy_c_v);
1212  _calo_tree->Branch("backtracked_locz_c_v", "std::vector<float>", &_backtracked_locz_c_v);
1213  _calo_tree->Branch("backtracked_dirx_c_v", "std::vector<float>", &_backtracked_dirx_c_v);
1214  _calo_tree->Branch("backtracked_diry_c_v", "std::vector<float>", &_backtracked_diry_c_v);
1215  _calo_tree->Branch("backtracked_dirz_c_v", "std::vector<float>", &_backtracked_dirz_c_v);
1216  _calo_tree->Branch("backtracked_de_c_v", "std::vector<float>", &_backtracked_de_c_v);
1217  _calo_tree->Branch("backtracked_pitch_c_v", "std::vector<float>", &_backtracked_pitch_c_v);
1218  _calo_tree->Branch("backtracked_scepitch_c_v", "std::vector<float>", &_backtracked_scepitch_c_v);
1219 
1220  _calo_tree->Branch("backtracked_nloc_c_y", "std::vector<int>", &_backtracked_nloc_c_y);
1221  _calo_tree->Branch("backtracked_locx_c_y", "std::vector<float>", &_backtracked_locx_c_y);
1222  _calo_tree->Branch("backtracked_locy_c_y", "std::vector<float>", &_backtracked_locy_c_y);
1223  _calo_tree->Branch("backtracked_locz_c_y", "std::vector<float>", &_backtracked_locz_c_y);
1224  _calo_tree->Branch("backtracked_dirx_c_y", "std::vector<float>", &_backtracked_dirx_c_y);
1225  _calo_tree->Branch("backtracked_diry_c_y", "std::vector<float>", &_backtracked_diry_c_y);
1226  _calo_tree->Branch("backtracked_dirz_c_y", "std::vector<float>", &_backtracked_dirz_c_y);
1227  _calo_tree->Branch("backtracked_de_c_y", "std::vector<float>", &_backtracked_de_c_y);
1228  _calo_tree->Branch("backtracked_pitch_c_y", "std::vector<float>", &_backtracked_pitch_c_y);
1229  _calo_tree->Branch("backtracked_scepitch_c_y", "std::vector<float>", &_backtracked_scepitch_c_y);
1230 
1231  _calo_tree->Branch("backtracked_x", "std::vector<float>", &_backtracked_x);
1232  _calo_tree->Branch("backtracked_y", "std::vector<float>", &_backtracked_y);
1233  _calo_tree->Branch("backtracked_z", "std::vector<float>", &_backtracked_z);
1234 
1235  _calo_tree->Branch("backtracked_dirx", "std::vector<float>", &_backtracked_dirx);
1236  _calo_tree->Branch("backtracked_diry", "std::vector<float>", &_backtracked_diry);
1237  _calo_tree->Branch("backtracked_dirz", "std::vector<float>", &_backtracked_dirz);
1238 
1239  _calo_tree->Branch("backtracked_theta", &_backtracked_theta, "backtracked_theta/F");
1240  _calo_tree->Branch("backtracked_phi", &_backtracked_phi, "backtracked_phi/F");
1241 
1242  _calo_tree->Branch("backtracked_px", &_backtracked_px, "backtracked_px/F");
1243  _calo_tree->Branch("backtracked_py", &_backtracked_py, "backtracked_py/F");
1244  _calo_tree->Branch("backtracked_pz", &_backtracked_pz, "backtracked_pz/F");
1245 
1246  _calo_tree->Branch("backtracked_length", &_backtracked_length,"backtracked_length/F");
1247  _calo_tree->Branch("backtracked_length_start_to_end", &_backtracked_length_start_to_end, "backtracked_length_start_to_end/F");
1248 
1249  _calo_tree->Branch("backtracked_purity", &_backtracked_purity, "backtracked_purity/F"); // purity of backtracking
1250  _calo_tree->Branch("backtracked_completeness", &_backtracked_completeness, "backtracked_completeness/F"); // completeness of backtracking
1251  _calo_tree->Branch("backtracked_overlay_purity", &_backtracked_overlay_purity, "backtracked_overlay_purity/F"); // purity of overlay
1252 
1253  _calo_tree->Branch("integrated_charge_u", "std::vector<float>", &_integrated_charge_u);
1254  _calo_tree->Branch("integrated_charge_v", "std::vector<float>", &_integrated_charge_v);
1255  _calo_tree->Branch("integrated_charge_y", "std::vector<float>", &_integrated_charge_y);
1256 
1257  _calo_tree->Branch("areahit_charge_u", "std::vector<float>", &_areahit_charge_u);
1258  _calo_tree->Branch("areahit_charge_v", "std::vector<float>", &_areahit_charge_v);
1259  _calo_tree->Branch("areahit_charge_y", "std::vector<float>", &_areahit_charge_y);
1260  _calo_tree->Branch("areahit_wire_u", "std::vector<unsigned>", &_areahit_wire_u);
1261  _calo_tree->Branch("areahit_wire_v", "std::vector<unsigned>", &_areahit_wire_v);
1262  _calo_tree->Branch("areahit_wire_y", "std::vector<unsigned>", &_areahit_wire_y);
1263  _calo_tree->Branch("areahit_channel_u", "std::vector<unsigned>", &_areahit_channel_u);
1264  _calo_tree->Branch("areahit_channel_v", "std::vector<unsigned>", &_areahit_channel_v);
1265  _calo_tree->Branch("areahit_channel_y", "std::vector<unsigned>", &_areahit_channel_y);
1266  _calo_tree->Branch("areahit_multiplicity_u", "std::vector<int>", &_areahit_multiplicity_u);
1267  _calo_tree->Branch("areahit_multiplicity_v", "std::vector<int>", &_areahit_multiplicity_v);
1268  _calo_tree->Branch("areahit_multiplicity_y", "std::vector<int>", &_areahit_multiplicity_y);
1269  _calo_tree->Branch("areahit_width_u", "std::vector<float>", &_areahit_width_u);
1270  _calo_tree->Branch("areahit_width_v", "std::vector<float>", &_areahit_width_v);
1271  _calo_tree->Branch("areahit_width_y", "std::vector<float>", &_areahit_width_y);
1272  _calo_tree->Branch("areahit_time_u", "std::vector<float>", &_areahit_time_u);
1273  _calo_tree->Branch("areahit_time_v", "std::vector<float>", &_areahit_time_v);
1274  _calo_tree->Branch("areahit_time_y", "std::vector<float>", &_areahit_time_y);
1275  _calo_tree->Branch("areahit_nhit_u", "std::vector<unsigned>", &_areahit_nhit_u);
1276  _calo_tree->Branch("areahit_nhit_v", "std::vector<unsigned>", &_areahit_nhit_v);
1277  _calo_tree->Branch("areahit_nhit_y", "std::vector<unsigned>", &_areahit_nhit_y);
1278 
1279  _calo_tree->Branch("allhit_charge_u", "std::vector<float>", &_allhit_charge_u);
1280  _calo_tree->Branch("allhit_charge_v", "std::vector<float>", &_allhit_charge_v);
1281  _calo_tree->Branch("allhit_charge_y", "std::vector<float>", &_allhit_charge_y);
1282  _calo_tree->Branch("allhit_wire_u", "std::vector<unsigned>", &_allhit_wire_u);
1283  _calo_tree->Branch("allhit_wire_v", "std::vector<unsigned>", &_allhit_wire_v);
1284  _calo_tree->Branch("allhit_wire_y", "std::vector<unsigned>", &_allhit_wire_y);
1285  _calo_tree->Branch("allhit_channel_u", "std::vector<unsigned>", &_allhit_channel_u);
1286  _calo_tree->Branch("allhit_channel_v", "std::vector<unsigned>", &_allhit_channel_v);
1287  _calo_tree->Branch("allhit_channel_y", "std::vector<unsigned>", &_allhit_channel_y);
1288  _calo_tree->Branch("allhit_multiplicity_u", "std::vector<int>", &_allhit_multiplicity_u);
1289  _calo_tree->Branch("allhit_multiplicity_v", "std::vector<int>", &_allhit_multiplicity_v);
1290  _calo_tree->Branch("allhit_multiplicity_y", "std::vector<int>", &_allhit_multiplicity_y);
1291  _calo_tree->Branch("allhit_width_u", "std::vector<float>", &_allhit_width_u);
1292  _calo_tree->Branch("allhit_width_v", "std::vector<float>", &_allhit_width_v);
1293  _calo_tree->Branch("allhit_width_y", "std::vector<float>", &_allhit_width_y);
1294  _calo_tree->Branch("allhit_time_u", "std::vector<float>", &_allhit_time_u);
1295  _calo_tree->Branch("allhit_time_v", "std::vector<float>", &_allhit_time_v);
1296  _calo_tree->Branch("allhit_time_y", "std::vector<float>", &_allhit_time_y);
1297  _calo_tree->Branch("allhit_nhit_u", "std::vector<unsigned>", &_allhit_nhit_u);
1298  _calo_tree->Branch("allhit_nhit_v", "std::vector<unsigned>", &_allhit_nhit_v);
1299  _calo_tree->Branch("allhit_nhit_y", "std::vector<unsigned>", &_allhit_nhit_y);
1300 
1301  _calo_tree->Branch("trkhit_charge_u", "std::vector<float>", &_trkhit_charge_u);
1302  _calo_tree->Branch("trkhit_charge_v", "std::vector<float>", &_trkhit_charge_v);
1303  _calo_tree->Branch("trkhit_charge_y", "std::vector<float>", &_trkhit_charge_y);
1304  _calo_tree->Branch("trkhit_wire_u", "std::vector<unsigned>", &_trkhit_wire_u);
1305  _calo_tree->Branch("trkhit_wire_v", "std::vector<unsigned>", &_trkhit_wire_v);
1306  _calo_tree->Branch("trkhit_wire_y", "std::vector<unsigned>", &_trkhit_wire_y);
1307  _calo_tree->Branch("trkhit_channel_u", "std::vector<unsigned>", &_trkhit_channel_u);
1308  _calo_tree->Branch("trkhit_channel_v", "std::vector<unsigned>", &_trkhit_channel_v);
1309  _calo_tree->Branch("trkhit_channel_y", "std::vector<unsigned>", &_trkhit_channel_y);
1310  _calo_tree->Branch("trkhit_multiplicity_u", "std::vector<int>", &_trkhit_multiplicity_u);
1311  _calo_tree->Branch("trkhit_multiplicity_v", "std::vector<int>", &_trkhit_multiplicity_v);
1312  _calo_tree->Branch("trkhit_multiplicity_y", "std::vector<int>", &_trkhit_multiplicity_y);
1313  _calo_tree->Branch("trkhit_width_u", "std::vector<float>", &_trkhit_width_u);
1314  _calo_tree->Branch("trkhit_width_v", "std::vector<float>", &_trkhit_width_v);
1315  _calo_tree->Branch("trkhit_width_y", "std::vector<float>", &_trkhit_width_y);
1316  _calo_tree->Branch("trkhit_time_u", "std::vector<float>", &_trkhit_time_u);
1317  _calo_tree->Branch("trkhit_time_v", "std::vector<float>", &_trkhit_time_v);
1318  _calo_tree->Branch("trkhit_time_y", "std::vector<float>", &_trkhit_time_y);
1319  _calo_tree->Branch("trkhit_nhit_u", "std::vector<unsigned>", &_trkhit_nhit_u);
1320  _calo_tree->Branch("trkhit_nhit_v", "std::vector<unsigned>", &_trkhit_nhit_v);
1321  _calo_tree->Branch("trkhit_nhit_y", "std::vector<unsigned>", &_trkhit_nhit_y);
1322 
1323  _calo_tree->Branch("calohit_charge_u", "std::vector<float>", &_calohit_charge_u);
1324  _calo_tree->Branch("calohit_charge_v", "std::vector<float>", &_calohit_charge_v);
1325  _calo_tree->Branch("calohit_charge_y", "std::vector<float>", &_calohit_charge_y);
1326  _calo_tree->Branch("calohit_wire_u", "std::vector<unsigned>", &_calohit_wire_u);
1327  _calo_tree->Branch("calohit_wire_v", "std::vector<unsigned>", &_calohit_wire_v);
1328  _calo_tree->Branch("calohit_wire_y", "std::vector<unsigned>", &_calohit_wire_y);
1329  _calo_tree->Branch("calohit_channel_u", "std::vector<unsigned>", &_calohit_channel_u);
1330  _calo_tree->Branch("calohit_channel_v", "std::vector<unsigned>", &_calohit_channel_v);
1331  _calo_tree->Branch("calohit_channel_y", "std::vector<unsigned>", &_calohit_channel_y);
1332  _calo_tree->Branch("calohit_multiplicity_u", "std::vector<int>", &_calohit_multiplicity_u);
1333  _calo_tree->Branch("calohit_multiplicity_v", "std::vector<int>", &_calohit_multiplicity_v);
1334  _calo_tree->Branch("calohit_multiplicity_y", "std::vector<int>", &_calohit_multiplicity_y);
1335  _calo_tree->Branch("calohit_width_u", "std::vector<float>", &_calohit_width_u);
1336  _calo_tree->Branch("calohit_width_v", "std::vector<float>", &_calohit_width_v);
1337  _calo_tree->Branch("calohit_width_y", "std::vector<float>", &_calohit_width_y);
1338  _calo_tree->Branch("calohit_time_u", "std::vector<float>", &_calohit_time_u);
1339  _calo_tree->Branch("calohit_time_v", "std::vector<float>", &_calohit_time_v);
1340  _calo_tree->Branch("calohit_time_y", "std::vector<float>", &_calohit_time_y);
1341  _calo_tree->Branch("calohit_nhit_u", "std::vector<unsigned>", &_calohit_nhit_u);
1342  _calo_tree->Branch("calohit_nhit_v", "std::vector<unsigned>", &_calohit_nhit_v);
1343  _calo_tree->Branch("calohit_nhit_y", "std::vector<unsigned>", &_calohit_nhit_y);
1344 
1345  _calo_tree->Branch("sumhit_charge_u", "std::vector<float>", &_sumhit_charge_u);
1346  _calo_tree->Branch("sumhit_charge_v", "std::vector<float>", &_sumhit_charge_v);
1347  _calo_tree->Branch("sumhit_charge_y", "std::vector<float>", &_sumhit_charge_y);
1348  _calo_tree->Branch("sumhit_wire_u", "std::vector<unsigned>", &_sumhit_wire_u);
1349  _calo_tree->Branch("sumhit_wire_v", "std::vector<unsigned>", &_sumhit_wire_v);
1350  _calo_tree->Branch("sumhit_wire_y", "std::vector<unsigned>", &_sumhit_wire_y);
1351  _calo_tree->Branch("sumhit_channel_u", "std::vector<unsigned>", &_sumhit_channel_u);
1352  _calo_tree->Branch("sumhit_channel_v", "std::vector<unsigned>", &_sumhit_channel_v);
1353  _calo_tree->Branch("sumhit_channel_y", "std::vector<unsigned>", &_sumhit_channel_y);
1354  _calo_tree->Branch("sumhit_multiplicity_u", "std::vector<int>", &_sumhit_multiplicity_u);
1355  _calo_tree->Branch("sumhit_multiplicity_v", "std::vector<int>", &_sumhit_multiplicity_v);
1356  _calo_tree->Branch("sumhit_multiplicity_y", "std::vector<int>", &_sumhit_multiplicity_y);
1357  _calo_tree->Branch("sumhit_width_u", "std::vector<float>", &_sumhit_width_u);
1358  _calo_tree->Branch("sumhit_width_v", "std::vector<float>", &_sumhit_width_v);
1359  _calo_tree->Branch("sumhit_width_y", "std::vector<float>", &_sumhit_width_y);
1360  _calo_tree->Branch("sumhit_time_u", "std::vector<float>", &_sumhit_time_u);
1361  _calo_tree->Branch("sumhit_time_v", "std::vector<float>", &_sumhit_time_v);
1362  _calo_tree->Branch("sumhit_time_y", "std::vector<float>", &_sumhit_time_y);
1363  _calo_tree->Branch("sumhit_nhit_u", "std::vector<unsigned>", &_sumhit_nhit_u);
1364  _calo_tree->Branch("sumhit_nhit_v", "std::vector<unsigned>", &_sumhit_nhit_v);
1365  _calo_tree->Branch("sumhit_nhit_y", "std::vector<unsigned>", &_sumhit_nhit_y);
1366 
1367  _calo_tree->Branch("backtracked_end_x", &_backtracked_end_x, "backtracked_end_x/F");
1368  _calo_tree->Branch("backtracked_end_y", &_backtracked_end_y, "backtracked_end_y/F");
1369  _calo_tree->Branch("backtracked_end_z", &_backtracked_end_z, "backtracked_end_z/F");
1370 
1371  _calo_tree->Branch("backtracked_start_x", &_backtracked_start_x, "backtracked_start_x/F");
1372  _calo_tree->Branch("backtracked_start_y", &_backtracked_start_y, "backtracked_start_y/F");
1373  _calo_tree->Branch("backtracked_start_z", &_backtracked_start_z, "backtracked_start_z/F");
1374  _calo_tree->Branch("backtracked_start_t", &_backtracked_start_t, "backtracked_start_t/F");
1375  // _calo_tree->Branch("backtracked_start_U", &_backtracked_start_U, "backtracked_start_U/F");
1376  // _calo_tree->Branch("backtracked_start_V", &_backtracked_start_V, "backtracked_start_V/F");
1377  // _calo_tree->Branch("backtracked_start_Y", &_backtracked_start_Y, "backtracked_start_Y/F");
1378  _calo_tree->Branch("backtracked_sce_start_x", &_backtracked_sce_start_x, "backtracked_sce_start_x/F");
1379  _calo_tree->Branch("backtracked_sce_start_y", &_backtracked_sce_start_y, "backtracked_sce_start_y/F");
1380  _calo_tree->Branch("backtracked_sce_start_z", &_backtracked_sce_start_z, "backtracked_sce_start_z/F");
1381  // _calo_tree->Branch("backtracked_sce_start_U", &_backtracked_sce_start_U, "backtracked_sce_start_U/F");
1382  // _calo_tree->Branch("backtracked_sce_start_V", &_backtracked_sce_start_V, "backtracked_sce_start_V/F");
1383  // _calo_tree->Branch("backtracked_sce_start_Y", &_backtracked_sce_start_Y, "backtracked_sce_start_Y/F");
1384 
1385  _calo_tree->Branch("backtracked_process_is_stopping", &_backtracked_process_is_stopping, "backtracked_process_is_stopping/O");
1386  _calo_tree->Branch("backtracked_end_in_tpc", &_backtracked_end_in_tpc, "backtracked_end_in_tpc/O");
1387 
1388  _calo_tree->Branch("generation", &_generation, "generation/i");
1389  _calo_tree->Branch("trk_daughters", &_trk_daughters, "trk_daughters/i");
1390  _calo_tree->Branch("daughters", &_daughters, "daughters/i");
1391  _calo_tree->Branch("shr_daughters", &_shr_daughters, "shr_daughters/i");
1392  _calo_tree->Branch("n_pfp", &_n_pfp, "n_pfp/i");
1393 
1394  // track information
1395  _calo_tree->Branch("trk_score", &_trk_score, "trk_score/F");
1396 
1397  _calo_tree->Branch("trk_theta", &_trk_theta, "trk_theta/F");
1398  _calo_tree->Branch("trk_phi", &_trk_phi, "trk_phi/F");
1399  _calo_tree->Branch("trk_len", &_trk_len, "trk_len/F");
1400 
1401  _calo_tree->Branch("trk_calo_range_u", &_trk_calo_range_u, "trk_calo_range_u/F");
1402  _calo_tree->Branch("trk_calo_range_v", &_trk_calo_range_v, "trk_calo_range_v/F");
1403  _calo_tree->Branch("trk_calo_range_y", &_trk_calo_range_y, "trk_calo_range_y/F");
1404 
1405  _calo_tree->Branch("trk_dir_x", &_trk_dir_x, "trk_dir_x/F");
1406  _calo_tree->Branch("trk_dir_y", &_trk_dir_y, "trk_dir_y/F");
1407  _calo_tree->Branch("trk_dir_z", &_trk_dir_z, "trk_dir_z/F");
1408 
1409  _calo_tree->Branch("longest", &_longest, "longest/I");
1410 
1411  _calo_tree->Branch("trk_start_x", &_trk_start_x, "trk_start_x/F");
1412  _calo_tree->Branch("trk_start_y", &_trk_start_y, "trk_start_y/F");
1413  _calo_tree->Branch("trk_start_z", &_trk_start_z, "trk_start_z/F");
1414 
1415  _calo_tree->Branch("trk_sce_start_x", &_trk_sce_start_x, "trk_sce_start_x/F");
1416  _calo_tree->Branch("trk_sce_start_y", &_trk_sce_start_y, "trk_sce_start_y/F");
1417  _calo_tree->Branch("trk_sce_start_z", &_trk_sce_start_z, "trk_sce_start_z/F");
1418 
1419  _calo_tree->Branch("trk_end_x", &_trk_end_x, "trk_end_x/F");
1420  _calo_tree->Branch("trk_end_y", &_trk_end_y, "trk_end_y/F");
1421  _calo_tree->Branch("trk_end_z", &_trk_end_z, "trk_end_z/F");
1422 
1423  _calo_tree->Branch("trk_sce_end_x", &_trk_sce_end_x, "trk_sce_end_x/F");
1424  _calo_tree->Branch("trk_sce_end_y", &_trk_sce_end_y, "trk_sce_end_y/F");
1425  _calo_tree->Branch("trk_sce_end_z", &_trk_sce_end_z, "trk_sce_end_z/F");
1426 
1427  _calo_tree->Branch("trk_bragg_p_u", &_trk_bragg_p_u, "trk_bragg_p_u/F");
1428  _calo_tree->Branch("trk_bragg_mu_u", &_trk_bragg_mu_u, "trk_bragg_mu_u/F");
1429  _calo_tree->Branch("trk_bragg_mip_u", &_trk_bragg_mip_u, "trk_bragg_mip_u/F");
1430  _calo_tree->Branch("trk_pid_chipr_u", &_trk_pid_chipr_u, "trk_pid_chipr_u/F");
1431  _calo_tree->Branch("trk_pid_chika_u", &_trk_pid_chika_u, "trk_pid_chika_u/F");
1432  _calo_tree->Branch("trk_pid_chipi_u", &_trk_pid_chipi_u, "trk_pid_chipi_u/F");
1433  _calo_tree->Branch("trk_pid_chimu_u", &_trk_pid_chimu_u, "trk_pid_chimu_u/F");
1434  _calo_tree->Branch("trk_pida_u", &_trk_pida_u, "trk_pida_u/F");
1435 
1436  _calo_tree->Branch("trk_bragg_p_v", &_trk_bragg_p_v, "trk_bragg_p_v/F");
1437  _calo_tree->Branch("trk_bragg_mu_v", &_trk_bragg_mu_v, "trk_bragg_mu_v/F");
1438  _calo_tree->Branch("trk_bragg_mip_v", &_trk_bragg_mip_v, "trk_bragg_mip_v/F");
1439  _calo_tree->Branch("trk_pid_chipr_v", &_trk_pid_chipr_v, "trk_pid_chipr_v/F");
1440  _calo_tree->Branch("trk_pid_chika_v", &_trk_pid_chika_v, "trk_pid_chika_v/F");
1441  _calo_tree->Branch("trk_pid_chipi_v", &_trk_pid_chipi_v, "trk_pid_chipi_v/F");
1442  _calo_tree->Branch("trk_pid_chimu_v", &_trk_pid_chimu_v, "trk_pid_chimu_v/F");
1443  _calo_tree->Branch("trk_pida_v", &_trk_pida_v, "trk_pida_v/F");
1444 
1445  _calo_tree->Branch("trk_bragg_p_y", &_trk_bragg_p_y, "trk_bragg_p_y/F");
1446  _calo_tree->Branch("trk_bragg_mu_y", &_trk_bragg_mu_y, "trk_bragg_mu_y/F");
1447  _calo_tree->Branch("trk_bragg_mip_y", &_trk_bragg_mip_y, "trk_bragg_mip_y/F");
1448  _calo_tree->Branch("trk_pid_chipr_y", &_trk_pid_chipr_y, "trk_pid_chipr_y/F");
1449  _calo_tree->Branch("trk_pid_chika_y", &_trk_pid_chika_y, "trk_pid_chika_y/F");
1450  _calo_tree->Branch("trk_pid_chipi_y", &_trk_pid_chipi_y, "trk_pid_chipi_y/F");
1451  _calo_tree->Branch("trk_pid_chimu_y", &_trk_pid_chimu_y, "trk_pid_chimu_y/F");
1452  _calo_tree->Branch("trk_pida_y", &_trk_pida_y, "trk_pida_y/F");
1453 
1454  _calo_tree->Branch("trk_bragg_p_three_planes", &_trk_bragg_p_three_planes, "trk_bragg_p_three_planes/F");
1455 
1456  _calo_tree->Branch("trk_mcs_muon_mom", &_trk_mcs_muon_mom, "trk_mcs_muon_mom/F");
1457  _calo_tree->Branch("trk_energy_proton", &_trk_energy_proton, "trk_energy_proton/F");
1458  _calo_tree->Branch("trk_energy_muon", &_trk_energy_muon, "trk_energy_muon/F");
1459 
1460  // dedx vector
1461  _calo_tree->Branch("dqdx_u", "std::vector<float>", &_dqdx_u);
1462  _calo_tree->Branch("dqdx_v", "std::vector<float>", &_dqdx_v);
1463  _calo_tree->Branch("dqdx_y", "std::vector<float>", &_dqdx_y);
1464 
1465  _calo_tree->Branch("dedx_u", "std::vector<float>", &_dedx_u);
1466  _calo_tree->Branch("dedx_v", "std::vector<float>", &_dedx_v);
1467  _calo_tree->Branch("dedx_y", "std::vector<float>", &_dedx_y);
1468 
1469  _calo_tree->Branch("dedx_channel_u", "std::vector<unsigned>", &_dedx_channel_u);
1470  _calo_tree->Branch("dedx_channel_v", "std::vector<unsigned>", &_dedx_channel_v);
1471  _calo_tree->Branch("dedx_channel_y", "std::vector<unsigned>", &_dedx_channel_y);
1472 
1473  _calo_tree->Branch("rr_u", "std::vector<float>", &_rr_u);
1474  _calo_tree->Branch("rr_v", "std::vector<float>", &_rr_v);
1475  _calo_tree->Branch("rr_y", "std::vector<float>", &_rr_y);
1476 
1477  _calo_tree->Branch("pitch_u", "std::vector<float>", &_pitch_u);
1478  _calo_tree->Branch("pitch_v", "std::vector<float>", &_pitch_v);
1479  _calo_tree->Branch("pitch_y", "std::vector<float>", &_pitch_y);
1480 
1481  _calo_tree->Branch("sx", "std::vector<float>", & _sx);
1482  _calo_tree->Branch("sy", "std::vector<float>", & _sy);
1483  _calo_tree->Branch("sz", "std::vector<float>", & _sz);
1484 
1485  _calo_tree->Branch("w_u", "std::vector<float>", &_w_u);
1486  _calo_tree->Branch("w_v", "std::vector<float>", &_w_v);
1487  _calo_tree->Branch("w_y", "std::vector<float>", &_w_y);
1488 
1489  _calo_tree->Branch("t_u", "std::vector<float>", &_t_u);
1490  _calo_tree->Branch("t_v", "std::vector<float>", &_t_v);
1491  _calo_tree->Branch("t_y", "std::vector<float>", &_t_y);
1492 
1493  _calo_tree->Branch("x_u", "std::vector<float>", &_x_u);
1494  _calo_tree->Branch("x_v", "std::vector<float>", &_x_v);
1495  _calo_tree->Branch("x_y", "std::vector<float>", &_x_y);
1496 
1497  _calo_tree->Branch("y_u", "std::vector<float>", &_y_u);
1498  _calo_tree->Branch("y_v", "std::vector<float>", &_y_v);
1499  _calo_tree->Branch("y_y", "std::vector<float>", &_y_y);
1500 
1501  _calo_tree->Branch("z_u", "std::vector<float>", &_z_u);
1502  _calo_tree->Branch("z_v", "std::vector<float>", &_z_v);
1503  _calo_tree->Branch("z_y", "std::vector<float>", &_z_y);
1504 
1505  _calo_tree->Branch("dir_x_u", "std::vector<float>", &_dir_x_u);
1506  _calo_tree->Branch("dir_x_v", "std::vector<float>", &_dir_x_v);
1507  _calo_tree->Branch("dir_x_y", "std::vector<float>", &_dir_x_y);
1508 
1509  _calo_tree->Branch("dir_y_u", "std::vector<float>", &_dir_y_u);
1510  _calo_tree->Branch("dir_y_v", "std::vector<float>", &_dir_y_v);
1511  _calo_tree->Branch("dir_y_y", "std::vector<float>", &_dir_y_y);
1512 
1513  _calo_tree->Branch("dir_z_u", "std::vector<float>", &_dir_z_u);
1514  _calo_tree->Branch("dir_z_v", "std::vector<float>", &_dir_z_v);
1515  _calo_tree->Branch("dir_z_y", "std::vector<float>", &_dir_z_y);
1516 }

Member Data Documentation

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_channel_u
private

Definition at line 387 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_channel_v
private

Definition at line 388 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_channel_y
private

Definition at line 389 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_charge_u
private

Definition at line 381 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_charge_v
private

Definition at line 382 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_charge_y
private

Definition at line 383 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_allhit_multiplicity_u
private

Definition at line 390 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_allhit_multiplicity_v
private

Definition at line 391 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_allhit_multiplicity_y
private

Definition at line 392 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_nhit_u
private

Definition at line 399 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_nhit_v
private

Definition at line 400 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_nhit_y
private

Definition at line 401 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_time_u
private

Definition at line 396 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_time_v
private

Definition at line 397 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_time_y
private

Definition at line 398 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_width_u
private

Definition at line 393 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_width_v
private

Definition at line 394 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_allhit_width_y
private

Definition at line 395 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_wire_u
private

Definition at line 384 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_wire_v
private

Definition at line 385 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_allhit_wire_y
private

Definition at line 386 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_channel_u
private

Definition at line 475 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_channel_v
private

Definition at line 476 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_channel_y
private

Definition at line 477 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_charge_u
private

Definition at line 469 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_charge_v
private

Definition at line 470 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_charge_y
private

Definition at line 471 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_areahit_multiplicity_u
private

Definition at line 478 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_areahit_multiplicity_v
private

Definition at line 479 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_areahit_multiplicity_y
private

Definition at line 480 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_nhit_u
private

Definition at line 487 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_nhit_v
private

Definition at line 488 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_nhit_y
private

Definition at line 489 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_time_u
private

Definition at line 484 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_time_v
private

Definition at line 485 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_time_y
private

Definition at line 486 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_width_u
private

Definition at line 481 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_width_v
private

Definition at line 482 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_areahit_width_y
private

Definition at line 483 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_wire_u
private

Definition at line 472 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_wire_v
private

Definition at line 473 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_areahit_wire_y
private

Definition at line 474 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_backtracked_c_u
private

Definition at line 228 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_backtracked_c_v
private

Definition at line 229 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_backtracked_c_y
private

Definition at line 230 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_completeness
private

Definition at line 211 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_de_c_u
private

Definition at line 239 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_de_c_v
private

Definition at line 250 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_de_c_y
private

Definition at line 261 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_deposited_e_u
private

Definition at line 207 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_deposited_e_v
private

Definition at line 208 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_deposited_e_y
private

Definition at line 209 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirx
private

Definition at line 269 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirx_c_u
private

Definition at line 236 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirx_c_v
private

Definition at line 247 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirx_c_y
private

Definition at line 258 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_diry
private

Definition at line 270 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_diry_c_u
private

Definition at line 237 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_diry_c_v
private

Definition at line 248 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_diry_c_y
private

Definition at line 259 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirz
private

Definition at line 271 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirz_c_u
private

Definition at line 238 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirz_c_v
private

Definition at line 249 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_dirz_c_y
private

Definition at line 260 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_e
private

Definition at line 206 of file CalorimetryAnalysis_module.cc.

bool analysis::CalorimetryAnalysis::_backtracked_end_in_tpc
private

Definition at line 302 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_end_x
private

Definition at line 280 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_end_y
private

Definition at line 281 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_end_z
private

Definition at line 282 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_length
private

Definition at line 298 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_length_start_to_end
private

Definition at line 299 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locx_c_u
private

Definition at line 233 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locx_c_v
private

Definition at line 244 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locx_c_y
private

Definition at line 255 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locy_c_u
private

Definition at line 234 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locy_c_v
private

Definition at line 245 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locy_c_y
private

Definition at line 256 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locz_c_u
private

Definition at line 235 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locz_c_v
private

Definition at line 246 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_locz_c_y
private

Definition at line 257 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_backtracked_nloc_c_u
private

Definition at line 232 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_backtracked_nloc_c_v
private

Definition at line 243 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_backtracked_nloc_c_y
private

Definition at line 254 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_overlay_purity
private

Definition at line 212 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_e_u
private

Definition at line 224 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_e_v
private

Definition at line 225 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_e_y
private

Definition at line 226 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_q_u
private

Definition at line 220 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_q_v
private

Definition at line 221 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pc_q_y
private

Definition at line 222 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_backtracked_pdg
private

Definition at line 205 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_phi
private

Definition at line 274 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pitch_c_u
private

Definition at line 240 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pitch_c_v
private

Definition at line 251 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_pitch_c_y
private

Definition at line 262 of file CalorimetryAnalysis_module.cc.

bool analysis::CalorimetryAnalysis::_backtracked_process_is_stopping
private

Definition at line 301 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_purity
private

Definition at line 210 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_px
private

Definition at line 276 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_py
private

Definition at line 277 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_pz
private

Definition at line 278 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_q_u
private

Definition at line 213 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_q_v
private

Definition at line 214 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_q_y
private

Definition at line 215 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_qtotal_u
private

Definition at line 216 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_qtotal_v
private

Definition at line 217 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_qtotal_y
private

Definition at line 218 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_U
private

Definition at line 294 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_V
private

Definition at line 295 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_x
private

Definition at line 291 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_y
private

Definition at line 292 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_Y
private

Definition at line 296 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_sce_start_z
private

Definition at line 293 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_scepitch_c_u
private

Definition at line 241 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_scepitch_c_v
private

Definition at line 252 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_scepitch_c_y
private

Definition at line 263 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_t
private

Definition at line 287 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_U
private

Definition at line 288 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_V
private

Definition at line 289 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_x
private

Definition at line 284 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_y
private

Definition at line 285 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_Y
private

Definition at line 290 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_start_z
private

Definition at line 286 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_backtracked_theta
private

Definition at line 273 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_x
private

Definition at line 265 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_y
private

Definition at line 266 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_backtracked_z
private

Definition at line 267 of file CalorimetryAnalysis_module.cc.

TTree* analysis::CalorimetryAnalysis::_calo_tree
private

Definition at line 198 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_channel_u
private

Definition at line 431 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_channel_v
private

Definition at line 432 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_channel_y
private

Definition at line 433 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_charge_u
private

Definition at line 425 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_charge_v
private

Definition at line 426 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_charge_y
private

Definition at line 427 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_calohit_multiplicity_u
private

Definition at line 434 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_calohit_multiplicity_v
private

Definition at line 435 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_calohit_multiplicity_y
private

Definition at line 436 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_nhit_u
private

Definition at line 443 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_nhit_v
private

Definition at line 444 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_nhit_y
private

Definition at line 445 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_time_u
private

Definition at line 440 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_time_v
private

Definition at line 441 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_time_y
private

Definition at line 442 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_width_u
private

Definition at line 437 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_width_v
private

Definition at line 438 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_calohit_width_y
private

Definition at line 439 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_wire_u
private

Definition at line 428 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_wire_v
private

Definition at line 429 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_calohit_wire_y
private

Definition at line 430 of file CalorimetryAnalysis_module.cc.

uint analysis::CalorimetryAnalysis::_daughters
private

Definition at line 307 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_dedx_channel_u
private

Definition at line 500 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_dedx_channel_v
private

Definition at line 501 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_dedx_channel_y
private

Definition at line 502 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dedx_u
private

Definition at line 496 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dedx_v
private

Definition at line 497 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dedx_y
private

Definition at line 498 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_x_u
private

Definition at line 536 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_x_v
private

Definition at line 537 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_x_y
private

Definition at line 538 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_y_u
private

Definition at line 540 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_y_v
private

Definition at line 541 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_y_y
private

Definition at line 542 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_z_u
private

Definition at line 544 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_z_v
private

Definition at line 545 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dir_z_y
private

Definition at line 546 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dqdx_u
private

Definition at line 492 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dqdx_v
private

Definition at line 493 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_dqdx_y
private

Definition at line 494 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_evt
private

Definition at line 201 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_fileno
private

Definition at line 200 of file CalorimetryAnalysis_module.cc.

uint analysis::CalorimetryAnalysis::_generation
private

Definition at line 304 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_integrated_charge_u
private

Definition at line 377 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_integrated_charge_v
private

Definition at line 378 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_integrated_charge_y
private

Definition at line 379 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_longest
private

Definition at line 375 of file CalorimetryAnalysis_module.cc.

uint analysis::CalorimetryAnalysis::_n_pfp
private

Definition at line 308 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_pfpno
private

Definition at line 202 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_pitch_u
private

Definition at line 508 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_pitch_v
private

Definition at line 509 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_pitch_y
private

Definition at line 510 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_rr_u
private

Definition at line 504 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_rr_v
private

Definition at line 505 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_rr_y
private

Definition at line 506 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_run
private

Definition at line 201 of file CalorimetryAnalysis_module.cc.

uint analysis::CalorimetryAnalysis::_shr_daughters
private

Definition at line 305 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_sub
private

Definition at line 201 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_channel_u
private

Definition at line 453 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_channel_v
private

Definition at line 454 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_channel_y
private

Definition at line 455 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_charge_u
private

Definition at line 447 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_charge_v
private

Definition at line 448 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_charge_y
private

Definition at line 449 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_sumhit_multiplicity_u
private

Definition at line 456 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_sumhit_multiplicity_v
private

Definition at line 457 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_sumhit_multiplicity_y
private

Definition at line 458 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_nhit_u
private

Definition at line 465 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_nhit_v
private

Definition at line 466 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_nhit_y
private

Definition at line 467 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_time_u
private

Definition at line 462 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_time_v
private

Definition at line 463 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_time_y
private

Definition at line 464 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_width_u
private

Definition at line 459 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_width_v
private

Definition at line 460 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sumhit_width_y
private

Definition at line 461 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_wire_u
private

Definition at line 450 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_wire_v
private

Definition at line 451 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_sumhit_wire_y
private

Definition at line 452 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sx
private

Definition at line 512 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sy
private

Definition at line 513 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_sz
private

Definition at line 514 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_t_u
private

Definition at line 520 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_t_v
private

Definition at line 521 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_t_y
private

Definition at line 522 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mip_u
private

Definition at line 353 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mip_v
private

Definition at line 362 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mip_y
private

Definition at line 344 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mu_u
private

Definition at line 352 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mu_v
private

Definition at line 361 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_mu_y
private

Definition at line 343 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_p_three_planes
private

Definition at line 369 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_p_u
private

Definition at line 351 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_p_v
private

Definition at line 360 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_bragg_p_y
private

Definition at line 342 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_calo_range_u
private

Definition at line 322 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_calo_range_v
private

Definition at line 323 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_calo_range_y
private

Definition at line 324 of file CalorimetryAnalysis_module.cc.

uint analysis::CalorimetryAnalysis::_trk_daughters
private

Definition at line 306 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_dir_x
private

Definition at line 316 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_dir_y
private

Definition at line 317 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_dir_z
private

Definition at line 318 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_end_x
private

Definition at line 334 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_end_y
private

Definition at line 335 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_end_z
private

Definition at line 336 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_energy_muon
private

Definition at line 373 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_energy_proton
private

Definition at line 372 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_len
private

Definition at line 320 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_mcs_muon_mom
private

Definition at line 371 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_phi
private

Definition at line 314 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chika_u
private

Definition at line 355 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chika_v
private

Definition at line 364 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chika_y
private

Definition at line 346 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chimu_u
private

Definition at line 357 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chimu_v
private

Definition at line 366 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chimu_y
private

Definition at line 348 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipi_u
private

Definition at line 356 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipi_v
private

Definition at line 365 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipi_y
private

Definition at line 347 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipr_u
private

Definition at line 354 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipr_v
private

Definition at line 363 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pid_chipr_y
private

Definition at line 345 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pida_u
private

Definition at line 358 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pida_v
private

Definition at line 367 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_pida_y
private

Definition at line 349 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_end_x
private

Definition at line 338 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_end_y
private

Definition at line 339 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_end_z
private

Definition at line 340 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_start_x
private

Definition at line 330 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_start_y
private

Definition at line 331 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_sce_start_z
private

Definition at line 332 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_score
private

Definition at line 311 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_start_x
private

Definition at line 326 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_start_y
private

Definition at line 327 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_start_z
private

Definition at line 328 of file CalorimetryAnalysis_module.cc.

float analysis::CalorimetryAnalysis::_trk_theta
private

Definition at line 313 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_channel_u
private

Definition at line 409 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_channel_v
private

Definition at line 410 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_channel_y
private

Definition at line 411 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_charge_u
private

Definition at line 403 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_charge_v
private

Definition at line 404 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_charge_y
private

Definition at line 405 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_trkhit_multiplicity_u
private

Definition at line 412 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_trkhit_multiplicity_v
private

Definition at line 413 of file CalorimetryAnalysis_module.cc.

std::vector<int> analysis::CalorimetryAnalysis::_trkhit_multiplicity_y
private

Definition at line 414 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_nhit_u
private

Definition at line 421 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_nhit_v
private

Definition at line 422 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_nhit_y
private

Definition at line 423 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_time_u
private

Definition at line 418 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_time_v
private

Definition at line 419 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_time_y
private

Definition at line 420 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_width_u
private

Definition at line 415 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_width_v
private

Definition at line 416 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_trkhit_width_y
private

Definition at line 417 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_wire_u
private

Definition at line 406 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_wire_v
private

Definition at line 407 of file CalorimetryAnalysis_module.cc.

std::vector<unsigned> analysis::CalorimetryAnalysis::_trkhit_wire_y
private

Definition at line 408 of file CalorimetryAnalysis_module.cc.

int analysis::CalorimetryAnalysis::_trkid
private

Definition at line 203 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_w_u
private

Definition at line 516 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_w_v
private

Definition at line 517 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_w_y
private

Definition at line 518 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_x_u
private

Definition at line 524 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_x_v
private

Definition at line 525 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_x_y
private

Definition at line 526 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_y_u
private

Definition at line 528 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_y_v
private

Definition at line 529 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_y_y
private

Definition at line 530 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_z_u
private

Definition at line 532 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_z_v
private

Definition at line 533 of file CalorimetryAnalysis_module.cc.

std::vector<float> analysis::CalorimetryAnalysis::_z_y
private

Definition at line 534 of file CalorimetryAnalysis_module.cc.

std::vector<geo::BoxBoundedGeo> analysis::CalorimetryAnalysis::fActiveVolumes
private

Definition at line 196 of file CalorimetryAnalysis_module.cc.

bool analysis::CalorimetryAnalysis::fAllTrueEnergyDeposits
private

Definition at line 193 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fAreaHitproducer
private

Definition at line 188 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fCALOproducer
private

Definition at line 183 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fHitFilterproducer
private

Definition at line 187 of file CalorimetryAnalysis_module.cc.

std::vector<art::InputTag> analysis::CalorimetryAnalysis::fHitProducers
private

Definition at line 189 of file CalorimetryAnalysis_module.cc.

std::string analysis::CalorimetryAnalysis::fMCSproducer
private

Definition at line 191 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fPFPproducer
private

Definition at line 182 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fPIDproducer
private

Definition at line 184 of file CalorimetryAnalysis_module.cc.

std::string analysis::CalorimetryAnalysis::fRangeproducer
private

Definition at line 192 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fT0producer
private

Definition at line 186 of file CalorimetryAnalysis_module.cc.

std::vector<std::vector<geo::BoxBoundedGeo> > analysis::CalorimetryAnalysis::fTPCVolumes
private

Definition at line 195 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fTRKproducer
private

Definition at line 185 of file CalorimetryAnalysis_module.cc.

art::InputTag analysis::CalorimetryAnalysis::fWireProducer
private

Definition at line 190 of file CalorimetryAnalysis_module.cc.

TParticlePDG* analysis::CalorimetryAnalysis::muon = TDatabasePDG::Instance()->GetParticle(13)
private

Definition at line 180 of file CalorimetryAnalysis_module.cc.

TParticlePDG* analysis::CalorimetryAnalysis::proton = TDatabasePDG::Instance()->GetParticle(2212)
private

Definition at line 179 of file CalorimetryAnalysis_module.cc.


The documentation for this class was generated from the following file: