9 #ifndef TRAJCLUSTERALGDATASTRUCT_H
10 #define TRAJCLUSTERALGDATASTRUCT_H
48 constexpr
unsigned int Tpad = 10;
49 constexpr
unsigned int Cpad = 10000;
52 EncodeCTP(
unsigned int cryo,
unsigned int tpc,
unsigned int plane)
54 return cryo *
Cpad + tpc *
Tpad + plane;
172 std::vector<unsigned int>
Hits;
191 std::vector<TrajPoint>
Pts;
202 std::array<unsigned short, 2>
VtxID{{0, 0}};
203 std::array<unsigned short, 2>
EndPt{
288 std::array<std::vector<float>, 2>
dEdx;
364 std::vector<unsigned int>
Hits;
622 std::vector<recob::Hit>
const*
allHits =
nullptr;
623 std::vector<recob::Hit>
const*
srcHits =
nullptr;
626 std::vector<std::vector<std::pair<unsigned int, unsigned int>>>
wireHitRange;
633 std::vector<std::array<unsigned int, 3>>
sptHits;
670 std::vector<Trajectory>
tjs;
675 std::vector<std::vector<std::pair<unsigned int, unsigned int>>>
wireHitRange;
679 std::vector<ShowerStruct>
cots;
680 std::vector<DontClusterStruct>
688 extern ShowerTreeVars
stv;
689 extern std::vector<TjForecast>
tjfs;
692 extern std::vector<TCSlice>
slices;
694 extern std::vector<TrajPoint>
seeds;
698 #endif // ifndef TRAJCLUSTERALGDATASTRUCT_H
Expect tracks entering from the front face. Don't create neutrino PFParticles.
calo::CalorimetryAlg * caloAlg
float AveChg
Calculated using ALL hits.
std::vector< int > EnvStage
std::vector< int > IsShowerParent
std::vector< Trajectory > tjs
vector of all trajectories in each plane
Point2_t dEdx
dE/dx for 3D matched trajectories
bool dbgStitch
debug PFParticle stitching
std::vector< float > cr_pfpyzmindis
std::array< std::vector< float >, 2 > dEdxErr
std::vector< float > kinkCuts
kink finder algorithm
bool NeedsUpdate
set true if the section needs to be updated
int TjID
ID of the trajectory -> TP3D assn.
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< ShowerStruct > cots
CTP_t CTP
Cryostat, TPC, Plane code.
float showerLikeFraction
fraction of points in the forecast envelope that are shower-like
std::vector< double > dEdxErr
std::vector< float > maxPos0
short recoTPC
only reconstruct in the seleted TPC
std::vector< unsigned short > minPtsFit
Reconstruct in several passes.
std::vector< float > cr_pfpxmax
std::vector< int > NearTjIDs
std::array< double, 3 > Point3_t
std::vector< ShowerStruct3D > showers
std::vector< float > vtx3DCuts
2D vtx -> 3D vtx matching cuts
std::vector< float > qualityCuts
Min points/wire, min consecutive pts after a gap.
std::vector< float > BeginTim
std::array< int, 2 > TjIDs
std::vector< Point2_t > Envelope
tagged as a vertex between Tjs that are matched to MC truth neutrino interaction particles ...
vertex position fixed manually - no fitting done
Declaration of signal hit object.
std::vector< float > BeginAng
std::bitset< pAlgModSize > AlgMod
bool leavesBeforeEnd
leaves the forecast envelope before the end
std::vector< std::vector< std::pair< unsigned int, unsigned int > > > wireHitRange
The data type to uniquely identify a Plane.
matched to a high-score 3D vertex
int ParentID
ID of the parent, or the ID of the Tj this one was merged with if it is killed.
std::vector< unsigned int > Hits
std::vector< double > MIPEnergy
step from US -> DS (true) or DS -> US (false)
Point3_t Pos
center position of this section
float TotChg
Total including an estimate for dead wires.
short MCSMom
Normalized RMS using ALL hits. Assume it is 50% to start.
float maxWireSkipWithSignal
max number of wires to skip with a signal on them
call study functions to develop cuts, etc
CryostatID_t Cryostat
Index of cryostat.
std::vector< std::pair< unsigned int, unsigned int > > tpcSrcHitRange
std::vector< Tj2Pt > Tj2Pts
std::vector< float > electronTag
a general purpose flag bit used in 3D matching
bool dbgSlc
debug only in the user-defined slice? default is all slices
std::vector< unsigned int > lastWire
the last wire with a hit
std::array< int, 2 > Vx3ID
bool expectSlicedHits
info passed from the module - used to (not) define wireHitRange
unsigned int eventsProcessed
std::vector< int > CotIDs
bool IsGood
set false if there is a failure or the Tj fails quality cuts
std::vector< std::array< unsigned int, 3 > > sptHits
SpacePoint -> Hits assns by plane.
std::vector< ShowerPoint > ShPts
bool doForecast
See TCMode_t above.
std::vector< float > angleRanges
list of max angles for each angle range
const std::vector< std::string > EndFlagNames
std::vector< float > showerTag
shower-like trajectory tagging + shower reconstruction
unsigned short Pass
the pass on which it was created
bool dbg3V
debug 3D vertex finding
Vector3_t DirErr
and direction error
don't mess with this line
std::vector< float > EndTim
std::vector< int > ShowerID
std::vector< unsigned short > maxAngleCode
max allowed angle code for each pass
process_name can override from command line with o or output calo
float projectionErrFactor
std::vector< int > TjUIDs
constexpr unsigned int Tpad
std::vector< DontClusterStruct > dontCluster
const std::vector< std::string > StrategyBitNames
std::vector< std::string > StageName
struct of temporary 3D vertices
short nPtsAve
dump trajectory points
Vector3_t Dir
and direction
bool dbgStp
debug stepping using debug.Cryostat, debug.TPC, etc
unsigned short nextForecastUpdate
Revise the forecast when NumPtsWithCharge == nextForecastUpdate.
std::vector< Tj2Pt > mallTraj
vector of trajectory points ordered by increasing X
std::array< float, 2 > Point2_t
std::vector< float > maxPos1
don't mess with this line
float unitsPerTick
scale factor from Tick to WSE equivalent units
use the slowing-down strategy
std::vector< short > minMCSMom
Min MCSMom for each pass.
std::vector< short > BeginVtx
TP is near a hit in the srcHit collection but no allHit hit exists (DUNE disambiguation error) ...
CTP_t CTP
Cryostat, TPC, Plane code.
unsigned short TPIndex
and the TP index
the environment near the vertex was checked - See UpdateVxEnvironment
bool dbg2V
debug 2D vertex finding
std::vector< float > aveHitRMS
average RMS of an isolated hit
std::vector< TrajPoint > Pts
Trajectory points.
TMVA::Reader * showerParentReader
std::vector< std::vector< bool > > goodWire
Point3_t Pos
position of the trajectory
std::vector< float > showerParentVars
std::vector< float > neutralVxCuts
std::vector< short > EndVtx
BEGIN_PROLOG local::showertrajpointdedx icarus_pandorashower_3dTraj ShowerFinderTools[3] CalorimetryAlg
std::vector< VtxStore > vtxs
2D vertices
std::array< unsigned short, 2 > EndPt
First and last point in the trajectory that has charge.
unsigned short PDGCode
shower-like or track-like {default is track-like}
std::vector< int > cr_origin
std::vector< float > match3DCuts
3D matching cuts
std::vector< SectionFit > SectionFits
short StartEnd
The starting end (-1 = don't know)
double TPXErr2
(X position error)^2
std::vector< float > Envelope
call study functions to develop cuts, etc
const geo::GeometryCore * geom
std::vector< unsigned short > minPts
min number of Pts required to make a trajectory
int UID
a unique ID for all slices
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.
constexpr unsigned int pAlgModSize
float outlook
tracklike ~< 2, showerlike > 2
std::array< double, 2 > Vector2_t
Definition of data types for geometry description.
std::vector< unsigned int > Hits
std::vector< unsigned int > firstWire
the first wire with a hit
std::vector< float > BeginChg
int ID
ID that is local to one slice.
std::vector< TCSlice > slices
std::array< unsigned short, 2 > VtxID
ID of 2D vertex.
vertex quality is suspect - No requirement made on chg btw it and the Tj
std::bitset< 16 > modes
number of points to find AveChg
std::vector< TCHit > slHits
std::vector< float > chargeCuts
bool aveHitRMSValid
set true when the average hit RMS is well-known
std::bitset< 16 > Stat
Vertex status bits using kVtxBit_t.
std::vector< int > EnvPlane
std::vector< TrajPoint > seeds
std::vector< recob::SpacePoint > const * sptHandle
handle to SpacePoints in the event
float maxWireSkipNoSignal
max number of wires to skip w/o a signal on them
std::vector< short > MCSMom
const std::vector< std::string > VtxBitNames
std::vector< double > EnergyErr
std::vector< double > MIPEnergyErr
std::vector< float > vtxScoreWeights
std::vector< Vtx3Store > vtx3s
3D vertices
std::vector< int > StageNum
std::vector< TjForecast > tjfs
std::vector< recob::Hit > const * srcHits
std::bitset< 128 > useAlg
Max hit separation for making junk trajectories. < 0 to turn off.
std::vector< float > pfpStitchCuts
cuts for stitching between TPCs
std::vector< short > deltaRayTag
short StepDir
-1 = going US (-> small wire#), 1 = going DS (-> large wire#)
std::bitset< 128 > AlgMod
Bit set if algorithm AlgBit_t modifed the trajectory.
call study functions to develop cuts, etc
std::vector< double > Energy
std::vector< short > muonTag
std::vector< float > BeginWir
geo::PlaneID DecodeCTP(CTP_t CTP)
float along
distance from the start Pos of the section
std::vector< float > EndChg
std::bitset< 128 > dbgAlg
Allow user to turn on debug printing in algorithms (that print...)
std::vector< TCWireIntersection > wireIntersections
std::bitset< 8 > Environment
std::vector< recob::Hit > const * allHits
CTP_t EncodeCTP(unsigned int cryo, unsigned int tpc, unsigned int plane)
std::vector< unsigned int > nWires
use the stiff electron strategy
std::array< std::bitset< 8 >, 2 > EndFlag
std::array< double, 3 > Vector3_t
std::vector< float > chkStopCuts
Bragg peak finder configuration.
std::vector< TP3D > TP3Ds
int ID
ID of the recob::Slice (not the sub-slice)
std::array< std::vector< float >, 2 > dEdx
std::vector< float > cr_pfpxmin
std::vector< float > vtx2DCuts
Max position pull, max Position error rms.
std::bitset< 8 > Strategy
int SSID
ID of a 2D shower struct that this tj is in.
std::vector< PFPStruct > pfps
float multHitSep
preferentially "merge" hits with < this separation
std::vector< int > EnvShowerID
call study functions to develop cuts, etc (see TCTruth.cxx)
unsigned int allHitsIndex
double TPX
X position of the TP or the single hit.
TPCID_t TPC
Index of the TPC within its cryostat.
std::vector< int > IsShowerTj
constexpr unsigned int Cpad
std::vector< double > dEdx
std::vector< short > PlaneNum
std::vector< std::vector< std::pair< unsigned int, unsigned int > > > wireHitRange
short recoSlice
only reconstruct the slice with ID (0 = all)
bool dbgSummary
print a summary report
bool NeedsUpdate
Set true when the Tj needs to be updated.
float TjChgFrac
Fraction of charge near the vertex that is from hits on the vertex Tjs.
master switch for turning on debug mode
don't mess with this line
std::vector< int > DtrUIDs
use the stiff muon strategy
std::array< std::bitset< 8 >, 2 > EndFlag
unsigned short SFIndex
and the section fit index