8 #ifndef DUNE_NEUTRINO_ENERGY_RECO_ALG_H 9 #define DUNE_NEUTRINO_ENERGY_RECO_ALG_H 15 #include "Math/GenVector/LorentzVector.h" 149 const double hadronicCorrectionGradient,
const double hadronicCorrectionIntercept) :
225 const double directionX,
const double directionY,
const double directionZ);
237 const double correctionIntercept);
298 #endif //DUNE_NEUTRINO_ENERGY_RECO_ALG_H Momentum4_t CalculateParticle4Momentum(const double mass, const double momentum, const double directionX, const double directionY, const double directionZ)
Calculates a particle's four-momentum vector.
double fGradNuMuHadEnExit
the hadronic energy correction gradient for numu+exiting muon
std::string fTrackLabel
the track label
double CalculateEnergyFromCharge(const double charge)
Converts deposited charge into energy by converting to number of electrons and correcting for average...
double fIntShwEnergy
the electron shower energy correction intercept
double kMuonMass
the muon mass (hardcoded unfortunately)
std::string fHitLabel
the hit label
double CalculateLinearlyCorrectedValue(const double value, const double correctionGradient, const double correctionIntercept)
Linearly corrects a value.
std::string fShowerToHitLabel
the associated shower-to-hit label
double fGradNuMuHadEnCont
the hqdronic energy correction gradient for numu+contained muon
NeutrinoEnergyRecoAlg class.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >> Point_t
std::string fWireLabel
the wire label
double fIntNuMuHadEnExit
the hadronic energy correction intercept for numu+exiting muon
double CalculateMuonMomentumByRange(const art::Ptr< recob::Track > pMuonTrack)
Calculates muon momentum by range.
double CalculateMuonMomentumByMCS(const art::Ptr< recob::Track > pMuonTrack)
Calculates muon momentum by multiple coulomb scattering.
muon momentum and hadronic deposited energy method
NeutrinoEnergyRecoAlg(const fhicl::ParameterSet &pset, const std::string &trackLabel, const std::string &showerLabel, const std::string &hitLabel, const std::string wireLabel, const std::string &trackToHitLabel, const std::string &showerToHitLabel, const std::string &hitToSpacePointLabel)
Constructor.
double CalculateUncorrectedMuonMomentumByMCS(const art::Ptr< recob::Track > &pMuonTrack)
Calculates the raw muon momentum by multiple coulomb scattering.
double fRecombFactor
the average reccombination factor
std::string fShowerLabel
the shower label
double fGradTrkMomRange
the correction gradient for muon momentum by range
bool IsContained(const std::vector< art::Ptr< recob::Hit > > &hits, const art::Event &event)
Checks if a set of track hits are contained within a central volume of the detector.
electron deposited energy and hadronic deposited energy method
double CalculateElectronEnergy(const art::Ptr< recob::Shower > &pElectronShower, const art::Event &event)
Calculates an electron shower's deposited energy by converting its deposited charge.
double fDistanceToWallThreshold
the min distance from a detector wall to be considered contained
double fIntTrkMomMCS
the correction intercept for muon momentum by MCS
double fIntTrkMomRange
the correction intercept for muon momentum by range
MuonContainmentStatus
The muon containment status.
dune::EnergyRecoOutput CalculateNeutrinoEnergyViaMuonRanging(const art::Ptr< recob::Track > &pMuonTrack, const art::Event &event)
Calculates neutrino energy explicitly using muon momentum by range.
MuonTrackMethod
The muon momentum reconstruction method.
double fIntNuEHadEn
the hadronic energy correction intercept for nue
double fGradShwEnergy
the electron shower energy correction gradient
double fMuonRangeToMCSThreshold
the ratio threshold at which MCS is used for contained muons
dune::EnergyRecoOutput CalculateNeutrinoEnergyViaMuonMCS(const art::Ptr< recob::Track > &pMuonTrack, const art::Event &event)
Calculates neutrino energy explicitly using muon multiple scattering.
double fGradNuEHadEn
the hadronic energy correction gradient for nue
std::string fHitToSpacePointLabel
the associated hit-to-space point label
def momentum(x1, x2, x3, scale=1.)
double fGradTrkMomMCS
the correction gradient for muom momentum by MCS
calo::CalorimetryAlg fCalorimetryAlg
the calorimetry algorithm
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double >> Position4_t
muon momentum by multiple scattering
double kElectronMass
the electron mass (hardcoded unfortunately);
Event finding and building.
EnergyRecoMethod
The energy reconstruction method.
bool IsPointContained(const double x, const double y, const double z)
Check's if a point is contained within a central detector volume.
dune::EnergyRecoOutput CalculateNeutrinoEnergy(const art::Ptr< recob::Track > &pMuonTrack, const art::Event &event)
Calculates neutrino energy using a muon track (the muon track may be ignored if it isn't of a suitabl...
std::string fTrackToHitLabel
the associated track-to-hit label
double fIntNuMuHadEnCont
the hadronic energy correction intercept for numu+contained muon