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