9 #ifndef TRAJCLUSTERALGDATASTRUCT_H 10 #define TRAJCLUSTERALGDATASTRUCT_H 31 #include "TMVA/Reader.h" 42 constexpr
unsigned int Tpad = 10;
43 constexpr
unsigned int Cpad = 10000;
45 inline CTP_t
EncodeCTP(
unsigned int cryo,
unsigned int tpc,
unsigned int plane) {
return cryo * Cpad + tpc * Tpad + plane; }
86 unsigned short NTraj {0};
97 std::bitset<16> Stat {0};
121 std::array<int, 3> Vx2ID {{0}};
123 bool Primary {
false};
124 bool Neutrino {
false};
130 std::array<double, 2>
dir;
148 std::array<double, 2> Dir {{0,0}};
149 double HitPosErr2 {0};
157 float DeltaRMS {0.02};
159 unsigned short NTPsFit {2};
161 unsigned short AngleCode {0};
162 std::vector<unsigned int>
Hits;
163 std::bitset<16> UseHit {0};
164 std::bitset<8> Environment {0};
169 std::vector<TrajPoint>
Pts;
181 std::array<unsigned short, 2> VtxID {{0,0}};
182 std::array<unsigned short, 2> EndPt {{0,0}};
186 unsigned int ClusterIndex {USHRT_MAX};
189 unsigned int MCPartListIndex {UINT_MAX};
190 std::array<std::bitset<8>, 2> StopFlag {};
191 bool NeedsUpdate {
false};
199 float SigmaPeakTime {1};
200 float PeakAmplitude {1};
201 float SigmaPeakAmp {1};
203 float SigmaIntegral {1};
205 float GoodnessOfFit {0};
207 unsigned short NDOF {0};
208 unsigned short Multiplicity {1};
209 unsigned short LocalIndex {0};
211 unsigned int MCPartListIndex {UINT_MAX};
241 std::array<Point3_t, 2>
XYZ;
242 std::array<Vector3_t, 2>
Dir;
244 std::array<std::vector<float>, 2>
dEdx;
246 std::array<int, 2> Vx3ID {{ 0, 0 }};
254 unsigned int MCPartListIndex {UINT_MAX};
256 float CosmicScore{0};
258 std::array<std::bitset<8>, 2> StopFlag {};
260 bool NeedsUpdate {
true};
281 float DirectionFOM {1};
283 float EnvelopeArea {0};
284 float ChgDensity {0};
291 bool NeedsUpdate {
true};
304 double OpenAngle {0.12};
313 std::vector<unsigned int>
Hits;
318 unsigned short PFPIndex {USHRT_MAX};
320 bool NeedsUpdate {
true};
362 unsigned short nPlanes {0};
501 std::vector< ClusterStore >
tcl;
502 std::vector< VtxStore >
vtx;
506 std::vector<ShowerStruct>
cots;
540 #endif // ifndef TRAJCLUSTERALGDATASTRUCT_H
don't mess with this line
std::vector< int > EnvStage
unsigned short MatchVecIndex(const TjStuff &tjs, int tjID)
std::vector< int > IsShowerParent
bool SelectEvent
number of points to find AveChg
std::vector< float > cr_pfpyzmindis
std::array< std::vector< float >, 2 > dEdxErr
std::vector< unsigned int > tclhits
std::vector< float > Vertex2DCuts
Max position pull, max Position error rms.
std::vector< float > ChargeCuts
std::vector< float > EndWir
struct of temporary 2D vertices (end points)
FindVtxTraj algorithm tried.
std::vector< float > EndAng
const std::vector< std::string > AlgBitNames
std::vector< double > dEdxErr
art::Ptr< recob::Hit > ArtPtr
std::vector< float > cr_pfpxmax
std::vector< int > NearTjIDs
std::array< double, 3 > Point3_t
std::bitset< 64 > AlgMod
Bit set if algorithm AlgBit_t modifed the trajectory.
std::vector< float > BeginTim
std::array< int, 2 > TjIDs
std::vector< Point2_t > Envelope
std::vector< float > ShowerParentVars
vertex position fixed manually - no fitting done
std::vector< float > AveHitRMS
average RMS of an isolated hit
Declaration of signal hit object.
std::vector< float > BeginAng
std::vector< float > MaxPos1
std::vector< float > TjCompleteness
The data type to uniquely identify a Plane.
std::vector< PFPStruct > pfps
matched to a high-score 3D vertex
std::vector< unsigned int > Hits
std::vector< double > MIPEnergy
CryostatID_t Cryostat
Index of cryostat.
std::vector< ShowerStruct3D > showers
std::vector< Tj2Pt > Tj2Pts
a general purpose flag bit used in 3D matching
std::vector< int > CotIDs
don't mess with this line
std::vector< ShowerPoint > ShPts
std::vector< TrajPoint3 > Tp3s
calo::CalorimetryAlg * caloAlg
int TDCtick_t
Type representing a TDC tick.
std::vector< float > EndTim
std::vector< int > ShowerID
TMVA::Reader * ShowerParentReader
tagged as a vertex between Tjs that are matched to MC truth neutrino interaction particles ...
std::vector< ShowerStruct > cots
std::vector< float > ShowerTag
[min MCSMom, max separation, min # Tj < separation] for a shower tag
constexpr unsigned int Tpad
std::vector< std::string > StageName
struct of temporary 3D vertices
unsigned int EventsProcessed
std::vector< float > TjCompleteness
std::array< float, 2 > Point2_t
std::array< Point3_t, 2 > XYZ
const geo::GeometryCore * geom
std::vector< short > BeginVtx
std::vector< unsigned int > LastWire
the last wire with a hit
std::array< Vector3_t, 2 > DirErr
std::vector< VtxStore > vtx
2D vertices
const std::vector< std::string > StopFlagNames
std::vector< TrajPoint > Pts
Trajectory points.
float AspectRatio(TjStuff &tjs, std::vector< int > &tjids, CTP_t inCTP)
std::vector< float > NeutralVxCuts
std::array< Vector3_t, 2 > Dir
std::vector< Trajectory > allTraj
vector of all trajectories in each plane
std::vector< short > EndVtx
std::bitset< 64 > UseAlg
Allow user to mask off specific algorithms.
std::vector< int > cr_origin
std::vector< float > MaxPos0
std::vector< unsigned int > FirstWire
the first wire with a hit
std::vector< float > Envelope
the charge fraction is small near this point
std::vector< MatchStruct > matchVec
3D matching vector
bool TestBeam
Expect tracks entering from the front face. Don't create neutrino PFParticles.
float ParentFOM(std::string inFcnLabel, TjStuff &tjs, PFPStruct &pfp, unsigned short pend, ShowerStruct3D &ss3, bool prt)
float UnitsPerTick
scale factor from Tick to WSE equivalent units
The data type to uniquely identify a TPC.
PlaneID_t Plane
Index of the plane within its TPC.
Description of geometry of one entire detector.
std::array< double, 2 > Vector2_t
Definition of data types for geometry description.
std::vector< unsigned int > Hits
std::vector< float > BeginChg
std::vector< float > MatchTruth
Match to MC truth.
short MCSMom(const TjStuff &tjs, const std::vector< int > &tjIDs)
std::vector< int > DtrIDs
std::vector< DontClusterStruct > dontCluster
std::vector< Vtx3Store > vtx3
3D vertices
std::vector< int > EnvPlane
std::vector< short > MCSMom
const std::vector< std::string > VtxBitNames
std::vector< double > EnergyErr
std::vector< double > MIPEnergyErr
std::vector< short > MuonTag
min length and min MCSMom for a muon tag
std::vector< float > VertexScoreWeights
std::vector< int > StageNum
std::vector< std::vector< std::pair< int, int > > > WireHitRange
std::vector< TCHit > fHits
std::vector< double > Energy
std::vector< float > BeginWir
geo::PlaneID DecodeCTP(CTP_t CTP)
std::vector< float > Match3DCuts
3D matching cuts
std::vector< float > EndChg
CTP_t EncodeCTP(unsigned int cryo, unsigned int tpc, unsigned int plane)
std::vector< simb::MCParticle * > MCPartList
std::array< double, 3 > Vector3_t
std::vector< ClusterStore > tcl
the clusters we are creating
std::array< std::vector< float >, 2 > dEdx
std::vector< float > cr_pfpxmin
Declaration of basic channel signal object.
std::vector< short > DeltaRayTag
min length, min MCSMom and min separation (WSE) for a delta ray tag
std::vector< Tj2Pt > mallTraj
vector of trajectory points ordered by increasing X
std::vector< float > AngleRanges
list of max angles for each angle range
std::vector< int > EnvShowerID
std::vector< float > KinkCuts
kink angle, nPts fit, (alternate) kink angle significance
TPCID_t TPC
Index of the TPC within its cryostat.
std::vector< int > IsShowerTj
constexpr unsigned int Cpad
std::vector< double > dEdx
std::vector< float > Vertex3DCuts
2D vtx -> 3D vtx matching cuts
std::vector< short > PlaneNum
bool DebugMode
print additional info when in debug mode
std::vector< unsigned int > NumWires
don't mess with this line
short StepDir
the normal user-defined stepping direction = 1 (US -> DS) or -1 (DS -> US)
std::array< double, 2 > dir
art framework interface to geometry description
struct of temporary clusters
const detinfo::DetectorProperties * detprop