7 #ifndef PMAlgCosmicTagger_h 8 #define PMAlgCosmicTagger_h 22 class PMAlgCosmicTagger;
35 Name(
"TagOutOfDriftTracks"),
36 Comment(
"Tag tracks sticking out of 1 drift window.")
39 Name(
"OutOfDriftMargin"),
40 Comment(
"The minimum distance beyond 1 drift window required for tagging track as a cosmic background.")
44 Name(
"TagFullHeightTracks"),
45 Comment(
"Tag tracks crossing full detector height")
48 Name(
"TagFullWidthTracks"),
49 Comment(
"Tag tracks crossing full detector width")
52 Name(
"TagFullLengthTracks"),
53 Comment(
"Tag tracks crossing full detector length")
56 Name(
"FullCrossingMargin"),
57 Comment(
"The maximum distance between the track length and detector length for full detector crossing tracks.")
60 Name(
"TagNonBeamT0Tracks"),
61 Comment(
"Tag particles with reconstructed T0 not consistent with the beam")
64 Name(
"NonBeamT0Margin"),
65 Comment(
"Tag only those events at least <margin> from the beam time")
68 Name(
"TagTopFrontBack"),
69 Comment(
"Tag tracks that enter through the top of the detector and exit through the front or back")
72 Name(
"TopFrontBackMargin"),
73 Comment(
"Distance tolerence from the top, front and back of the detector")
76 Name(
"TagApparentStopper"),
77 Comment(
"Tag tracks that enter through the top of the detector appear to stop (without seeing evidence of stopping)")
80 Name(
"ApparentStopperMargin"),
81 Comment(
"Distance tolerence from the top of the detector to be considered coming in from the top")
84 Name(
"VetoActualStopper"),
85 Comment(
"If true: use de/dx information to identify stopping muons but do not tag them")
88 Name(
"StopperBuffer"),
89 Comment(
"Should find no tracks starting within this distance from the end point of the track")
129 bool isTopVertex(
const TVector3 &pos,
double tolerance,
short int dirIndx)
const;
131 bool isFrontBackVertex(
const TVector3 &pos,
double tolerance,
short int dirIndx)
const;
void tag(pma::TrkCandidateColl &tracks)
bool fTagOutOfDriftTracks
fhicl::Atom< bool > TagFullHeightTracks
fhicl::Atom< bool > TagNonBeamT0Tracks
size_t tagApparentStopper(pma::TrkCandidateColl &tracks)
fhicl::Atom< double > TopFrontBackMargin
size_t nonBeamT0Tag(pma::TrkCandidateColl &tracks)
fhicl::Atom< double > NonBeamT0Margin
double fTopFrontBackMargin
bool fTagFullLengthTracks
std::vector< double > fDimensionsMin
size_t fullHeightCrossing(pma::TrkCandidateColl &tracks)
PMAlgCosmicTagger(const pma::PMAlgCosmicTagger::Config &config)
fhicl::Atom< bool > TagTopFrontBack
bool isFrontBackVertex(const TVector3 &pos, double tolerance, short int dirIndx) const
bool fTagFullHeightTracks
size_t outOfDriftWindow(pma::TrkCandidateColl &tracks)
fhicl::Atom< bool > TagOutOfDriftTracks
fhicl::Atom< bool > TagApparentStopper
size_t tagTopFrontBack(pma::TrkCandidateColl &tracks)
short int ConvertDirToInt(const TVector3 &dir) const
double fFullCrossingMargin
std::vector< double > fDimensionsMax
fhicl::Atom< double > FullCrossingMargin
Definition of data types for geometry description.
fhicl::Atom< double > OutOfDriftMargin
Track finding helper for the Projection Matching Algorithm.
fhicl::Atom< double > ApparentStopperMargin
fhicl::Atom< bool > TagFullWidthTracks
fhicl::Atom< double > StopperBuffer
size_t fullWidthCrossing(pma::TrkCandidateColl &tracks)
bool isTopVertex(const TVector3 &pos, double tolerance, short int dirIndx) const
fhicl::Atom< bool > VetoActualStopper
fhicl::Atom< bool > TagFullLengthTracks
double fApparentStopperMargin
size_t fullCrossingTagger(pma::TrkCandidateColl &tracks, int direction)
size_t fullLengthCrossing(pma::TrkCandidateColl &tracks)