NeutrinoEnergyRecoAlg class. More...
#include <NeutrinoEnergyRecoAlg.h>
Classes | |
struct | EnergyRecoInputHolder |
EnergyRecoInputHolder struct. More... | |
Public Member Functions | |
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. More... | |
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 suitable quality) More... | |
dune::EnergyRecoOutput | CalculateNeutrinoEnergy (const art::Ptr< recob::Shower > &pElectronShower, const art::Event &event) |
Calculates neutrino energy using an electron shower(the electron may be ignored if it isn't of a suitable quality) More... | |
dune::EnergyRecoOutput | CalculateNeutrinoEnergy (const art::Event &event) |
Calculates neutrino energy by summing wire charges. More... | |
dune::EnergyRecoOutput | CalculateNeutrinoEnergyViaMuonRanging (const art::Ptr< recob::Track > &pMuonTrack, const art::Event &event) |
Calculates neutrino energy explicitly using muon momentum by range. More... | |
dune::EnergyRecoOutput | CalculateNeutrinoEnergyViaMuonMCS (const art::Ptr< recob::Track > &pMuonTrack, const art::Event &event) |
Calculates neutrino energy explicitly using muon multiple scattering. More... | |
Private Types | |
enum | EnergyRecoMethod { kRecoMethodNotSet = -1, kMuonAndHadronic = 1, kElectronAndHadronic, kAllCharges } |
The energy reconstruction method. More... | |
enum | MuonTrackMethod { kTrackMethodNotSet = -1, kMCS, kContained } |
The muon momentum reconstruction method. More... | |
enum | MuonContainmentStatus { kContainmentNotSet = -1, kIsExiting, kIsContained } |
The muon containment status. More... | |
typedef Position4_t | Momentum4_t |
Private Member Functions | |
double | CalculateMuonMomentumByRange (const art::Ptr< recob::Track > pMuonTrack) |
Calculates muon momentum by range. More... | |
double | CalculateMuonMomentumByMCS (const art::Ptr< recob::Track > pMuonTrack) |
Calculates muon momentum by multiple coulomb scattering. More... | |
double | CalculateElectronEnergy (const art::Ptr< recob::Shower > &pElectronShower, const art::Event &event) |
Calculates an electron shower's deposited energy by converting its deposited charge. More... | |
double | CalculateEnergyFromCharge (const double charge) |
Converts deposited charge into energy by converting to number of electrons and correcting for average recombination. More... | |
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. More... | |
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. More... | |
double | CalculateLinearlyCorrectedValue (const double value, const double correctionGradient, const double correctionIntercept) |
Linearly corrects a value. More... | |
double | CalculateUncorrectedMuonMomentumByMCS (const art::Ptr< recob::Track > &pMuonTrack) |
Calculates the raw muon momentum by multiple coulomb scattering. More... | |
dune::EnergyRecoOutput | CalculateNeutrinoEnergy (const std::vector< art::Ptr< recob::Hit > > &leptonHits, const art::Event &event, const EnergyRecoInputHolder &energyRecoInputHolder) |
Calculates neutrino energy by summing hadronic deposited energy and lepton energy. More... | |
bool | IsPointContained (const double x, const double y, const double z) |
Check's if a point is contained within a central detector volume. More... | |
Private Attributes | |
double | kMuonMass = 0.1056583745 |
the muon mass (hardcoded unfortunately) More... | |
double | kElectronMass = 0.0005109989461 |
the electron mass (hardcoded unfortunately); More... | |
calo::CalorimetryAlg | fCalorimetryAlg |
the calorimetry algorithm More... | |
double | fGradTrkMomRange |
the correction gradient for muon momentum by range More... | |
double | fIntTrkMomRange |
the correction intercept for muon momentum by range More... | |
double | fGradTrkMomMCS |
the correction gradient for muom momentum by MCS More... | |
double | fIntTrkMomMCS |
the correction intercept for muon momentum by MCS More... | |
double | fGradNuMuHadEnCont |
the hqdronic energy correction gradient for numu+contained muon More... | |
double | fIntNuMuHadEnCont |
the hadronic energy correction intercept for numu+contained muon More... | |
double | fGradNuMuHadEnExit |
the hadronic energy correction gradient for numu+exiting muon More... | |
double | fIntNuMuHadEnExit |
the hadronic energy correction intercept for numu+exiting muon More... | |
double | fGradShwEnergy |
the electron shower energy correction gradient More... | |
double | fIntShwEnergy |
the electron shower energy correction intercept More... | |
double | fGradNuEHadEn |
the hadronic energy correction gradient for nue More... | |
double | fIntNuEHadEn |
the hadronic energy correction intercept for nue More... | |
double | fDistanceToWallThreshold |
the min distance from a detector wall to be considered contained More... | |
double | fMuonRangeToMCSThreshold |
the ratio threshold at which MCS is used for contained muons More... | |
double | fRecombFactor |
the average reccombination factor More... | |
std::string | fTrackLabel |
the track label More... | |
std::string | fShowerLabel |
the shower label More... | |
std::string | fHitLabel |
the hit label More... | |
std::string | fWireLabel |
the wire label More... | |
std::string | fTrackToHitLabel |
the associated track-to-hit label More... | |
std::string | fShowerToHitLabel |
the associated shower-to-hit label More... | |
std::string | fHitToSpacePointLabel |
the associated hit-to-space point label More... | |
NeutrinoEnergyRecoAlg class.
Definition at line 31 of file NeutrinoEnergyRecoAlg.h.
|
private |
Definition at line 101 of file NeutrinoEnergyRecoAlg.h.
|
private |
The energy reconstruction method.
Definition at line 107 of file NeutrinoEnergyRecoAlg.h.
|
private |
The muon containment status.
Enumerator | |
---|---|
kContainmentNotSet |
Containment not set. |
kIsExiting |
Muon exits. |
kIsContained |
Muon is contained. |
Definition at line 122 of file NeutrinoEnergyRecoAlg.h.
|
private |
The muon momentum reconstruction method.
Enumerator | |
---|---|
kTrackMethodNotSet |
method not set |
kMCS |
muon momentum by multiple scattering |
kContained |
muon momentum by range |
Definition at line 115 of file NeutrinoEnergyRecoAlg.h.
dune::NeutrinoEnergyRecoAlg::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.
pset | the FCL parameter set |
trackLabel | the track label |
showerLabel | the shower label |
hitLabel | the hit label |
wireLabel | the wire label |
trackToHitLabel | the associated track-to-hit label |
showerToHitLabel | the associated shower-to-hit label |
hitToSpacePointLabel | the associated hit-to-space point label |
Definition at line 33 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates an electron shower's deposited energy by converting its deposited charge.
pElectronShower | the electron shower |
event | the art event |
Definition at line 251 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Converts deposited charge into energy by converting to number of electrons and correcting for average recombination.
charge | the deposited charge |
Definition at line 264 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Linearly corrects a value.
value | the raw value |
correctionGradient | the linear correction gradient |
correctionIntercept | the linear correction intercept |
Definition at line 289 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates muon momentum by multiple coulomb scattering.
pMuonTrack | the muon track |
Definition at line 243 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates muon momentum by range.
pMuonTrack | the muon track |
Definition at line 236 of file NeutrinoEnergyRecoAlg.cc.
dune::EnergyRecoOutput dune::NeutrinoEnergyRecoAlg::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 suitable quality)
pMuonTrack | the muon track |
event | the art event |
Definition at line 64 of file NeutrinoEnergyRecoAlg.cc.
dune::EnergyRecoOutput dune::NeutrinoEnergyRecoAlg::CalculateNeutrinoEnergy | ( | const art::Ptr< recob::Shower > & | pElectronShower, |
const art::Event & | event | ||
) |
Calculates neutrino energy using an electron shower(the electron may be ignored if it isn't of a suitable quality)
pElectronShower | the electron shower |
event | the art event |
Definition at line 120 of file NeutrinoEnergyRecoAlg.cc.
dune::EnergyRecoOutput dune::NeutrinoEnergyRecoAlg::CalculateNeutrinoEnergy | ( | const art::Event & | event | ) |
Calculates neutrino energy by summing wire charges.
event | the art event |
Definition at line 149 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates neutrino energy by summing hadronic deposited energy and lepton energy.
leptonHits | the lepton hits |
event | the art event |
energyRecoInputHolder | the holder object holding pre-calculated or pre-existing information |
Definition at line 305 of file NeutrinoEnergyRecoAlg.cc.
dune::EnergyRecoOutput dune::NeutrinoEnergyRecoAlg::CalculateNeutrinoEnergyViaMuonMCS | ( | const art::Ptr< recob::Track > & | pMuonTrack, |
const art::Event & | event | ||
) |
Calculates neutrino energy explicitly using muon multiple scattering.
pMuonTrack | the muon track |
event | the art event |
Definition at line 206 of file NeutrinoEnergyRecoAlg.cc.
dune::EnergyRecoOutput dune::NeutrinoEnergyRecoAlg::CalculateNeutrinoEnergyViaMuonRanging | ( | const art::Ptr< recob::Track > & | pMuonTrack, |
const art::Event & | event | ||
) |
Calculates neutrino energy explicitly using muon momentum by range.
pMuonTrack | the muon track |
event | the art event |
Definition at line 188 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates a particle's four-momentum vector.
mass | the particle mass |
momentum | the particle momentum |
directionX | direction X component |
directionY | direction X component |
directionZ | direction X component |
Definition at line 224 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Calculates the raw muon momentum by multiple coulomb scattering.
pMuonTrack | the muon track |
Definition at line 297 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Checks if a set of track hits are contained within a central volume of the detector.
hits | the track hits |
Definition at line 271 of file NeutrinoEnergyRecoAlg.cc.
|
private |
Check's if a point is contained within a central detector volume.
x | the x component of the position |
y | the y component of the position |
z | the z component of the position |
Definition at line 336 of file NeutrinoEnergyRecoAlg.cc.
|
private |
the calorimetry algorithm
Definition at line 271 of file NeutrinoEnergyRecoAlg.h.
|
private |
the min distance from a detector wall to be considered contained
Definition at line 285 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hadronic energy correction gradient for nue
Definition at line 283 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hqdronic energy correction gradient for numu+contained muon
Definition at line 277 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hadronic energy correction gradient for numu+exiting muon
Definition at line 279 of file NeutrinoEnergyRecoAlg.h.
|
private |
the electron shower energy correction gradient
Definition at line 281 of file NeutrinoEnergyRecoAlg.h.
|
private |
the correction gradient for muom momentum by MCS
Definition at line 275 of file NeutrinoEnergyRecoAlg.h.
|
private |
the correction gradient for muon momentum by range
Definition at line 273 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hit label
Definition at line 291 of file NeutrinoEnergyRecoAlg.h.
|
private |
the associated hit-to-space point label
Definition at line 295 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hadronic energy correction intercept for nue
Definition at line 284 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hadronic energy correction intercept for numu+contained muon
Definition at line 278 of file NeutrinoEnergyRecoAlg.h.
|
private |
the hadronic energy correction intercept for numu+exiting muon
Definition at line 280 of file NeutrinoEnergyRecoAlg.h.
|
private |
the electron shower energy correction intercept
Definition at line 282 of file NeutrinoEnergyRecoAlg.h.
|
private |
the correction intercept for muon momentum by MCS
Definition at line 276 of file NeutrinoEnergyRecoAlg.h.
|
private |
the correction intercept for muon momentum by range
Definition at line 274 of file NeutrinoEnergyRecoAlg.h.
|
private |
the ratio threshold at which MCS is used for contained muons
Definition at line 286 of file NeutrinoEnergyRecoAlg.h.
|
private |
the average reccombination factor
Definition at line 287 of file NeutrinoEnergyRecoAlg.h.
|
private |
the shower label
Definition at line 290 of file NeutrinoEnergyRecoAlg.h.
|
private |
the associated shower-to-hit label
Definition at line 294 of file NeutrinoEnergyRecoAlg.h.
|
private |
the track label
Definition at line 289 of file NeutrinoEnergyRecoAlg.h.
|
private |
the associated track-to-hit label
Definition at line 293 of file NeutrinoEnergyRecoAlg.h.
|
private |
the wire label
Definition at line 292 of file NeutrinoEnergyRecoAlg.h.
|
private |
the electron mass (hardcoded unfortunately);
Definition at line 104 of file NeutrinoEnergyRecoAlg.h.
|
private |
the muon mass (hardcoded unfortunately)
Definition at line 103 of file NeutrinoEnergyRecoAlg.h.