8 #ifndef TP0DReconModule_hxx_seen
9 #define TP0DReconModule_hxx_seen
13 #include <TClonesArray.h>
14 #include <TLorentzVector.h>
20 #include <TND280Event.hxx>
21 #include <TReconCluster.hxx>
22 #include <TReconPID.hxx>
23 #include <TReconShower.hxx>
24 #include <TReconTrack.hxx>
25 #include <TReconVertex.hxx>
27 #include <TG4VHit.hxx>
28 #include <TMCDigit.hxx>
34 class TP0DReconModule;
1155 const char *title =
"P0D Recon Module");
1166 virtual bool FillTree(ND::TND280Event &);
1172 void FillBaseObject(T basePtr, ND::THandle<ND::TReconBase> baseObject,
1193 virtual std::map<int, std::pair<int, float> >
HitTruthInfo(
1194 const ND::THandle<ND::THitSelection>);
1196 const ND::THandle<ND::THitSelection>);
1198 virtual short FillNode(
const ND::THandle<ND::TReconNode>,
bool saveHits);
1200 short FillHit(
const ND::THandle<ND::THit>);
1202 short GetCycle(
const ND::THandle<ND::THitSelection>);
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
virtual ObjectID FillTrackObject(const ND::THandle< ND::TReconTrack >, bool saveHits)
ClassDef(TP0DReconModule::TP0DHit, 1)
float Width
The 'width' of the shower, the extent perpendicular to the direction.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this algorithm result.
UInt_t GeomID
Geometry Id of the TSingleHit.
short NHits
A count of the Hits associated with this object.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this algorithm result.
TClonesArray * fParticles
The TP0DParticle vector of particles.
float Moments[arraySize]
Moments of the cluster stored as a flat 3x3 matrix.
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
UInt_t UniqueID
The Unique ID of the corresponding ND::TReconTrack, used for global-subdetector matching.
std::vector< TPRegexp > fRejectAlgoResultList
If an incoming TAlgorithmResult's name matches a pattern within this vector it will not be summarised...
TLorentzVector Position
Position of the TMPositionDirectionState of the corresponding ND::TReconNode.
Contains a summary of the reconstruction information in a TSingleHit.
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this reconstructed cluster.
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstructed particle.
short Parent
The internal Id of the parent algorithm result of this one.
virtual ObjectID FillShowerObject(const ND::THandle< ND::TReconShower >, bool saveHits)
short Cycle
The cycle number, based on the first hit.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this algorithm result.
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
int NDOF
The Number of Degrees of Freedom in the reconstruction of the.
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this reconstructed vertex.
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
float Fiducial
The distance to the outside of the fiducial volume.
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this reconstructed particle.
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this algorithm result.
float Quality
The reported reconstruction 'quality' of the corresponding ND::TReconShower.
short ValidDimensions
Bit flag demarkating valid dimensions for this cluster's positon.
TVector3 DirVariance
Variance on the TP0DParticle::Direction of the TPIDState of the corresponding ND::TReconPID.
short Cycle
The cycle number, based on the first hit.
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this reconstructed shower.
virtual ObjectID FillParticleObject(const ND::THandle< ND::TReconPID >, bool saveHits)
short id
An internal Id for each Reconstruction object.
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
std::vector< std::vector< float > > realPIDValues
Holds the PID variable values from ND::TRealDatum stored in the TReconPID.
float EndDeposit
The deposited charge in the end p0dules.
TVector3 Direction
Direction of the TPIDState of the corresponding ND::TReconPID.
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
ClassDef(TP0DReconModule::TP0DAlgoRes, 5)
Contains a summary of the reconstruction information in a TReconShower.
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this sh...
short Cycle
The cycle number, based on the first hit.
UInt_t UniqueID
The Unique ID of the corresponding ND::TReconShower, used for global-subdetector matching.
TVector3 Direction
Direction of the TShowerState of the corresponding ND::TReconShower.
TClonesArray * fVertices
The TP0DVertex vector of vertices.
float EndDeposit
The deposited charge in the end p0dules.
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this reconstructed particle.
TClonesArray * fAlgoResults
The TP0DAlgoRes vector of Algorithm Results.
float Charge
The reconstructed charge of the corresponding TReconPID.
TClonesArray * fShowers
The TP0DShower vector of showers.
TClonesArray * fHits
The TP0DHit vector of hits.
short NHits
A count of the Hits associated with this object.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this reconstructed cluster.
TLorentzVector PosVariance
Variance on the position of the TPIDState of the corresponding ND::TReconPID.
float Quality
The reported reconstruction 'quality' of the corresponding ND::TReconPID.
std::vector< std::string > integerPIDNames
Holds the variable names of ND::TIntegerDatum stored in the TReconPID.
float SideDeposit
The deposited charge in the side bars.
TVector3 DirVariance
Variance on the TP0DShower::Direction of the TShowerState of the corresponding ND::TReconShower.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this reconstructed track.
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this reconstructed track.
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this reconstructed vertex.
TLorentzVector PosVariance
Variance on the position of the TTrackState of the corresponding ND::TReconTrack. ...
ClassDef(TP0DReconModule::TP0DTrack, 6)
std::vector< std::string > realPIDNames
Holds the variable names of ND::TRealDatum stored in the TReconPID.
TVector3 DirVariance
Variance on the TP0DTrack::Direction of the TTrackState of the corresponding ND::TReconTrack.
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstructed track.
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstructed vertex.
int NDOF
The Number of Degrees of Freedom in the reconstruction of the.
int NDOF
The Number of Degrees of Freedom in the reconstruction of the corresponding ND::TReconShower.
virtual void InitializeModule()
Initialize Module, override if necessary.
virtual std::map< int, std::pair< int, float > > HitTruthInfo(const ND::THandle< ND::THitSelection >)
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstructed cluster.
int Status
The reported Status of the corresponding ND::TReconPID.
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this ve...
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstructed shower.
TLorentzVector PosVariance
Variance on the position of the corresponding ND::TReconCluster.
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this algorithm result.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this reconstructed particle.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this reconstructed track.
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this ve...
TLorentzVector PosVariance
Variance on the position of the TShowerState of the corresponding ND::TReconShower.
std::vector< float > PID_weight
PID weights for each PID in TP0DParticle::PID.
Used to summarise the various reconstruction algorithm results that p0dRecon employs.
TVector3 Direction
Direction of the TTrackState of the corresponding ND::TReconTrack.
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this reconstructed shower.
Used to fill a TTree of summary information for the P0D reconstruction algorithms.
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this reconstructed shower.
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this reconstructed cluster.
A summary of the reconstruction information in a TReconPID.
float SideDeposit
The deposited charge in the side bars.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this reconstructed shower.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this reconstructed cluster.
TLorentzVector PosVariance
Variance on the position of the TMPositionDirectionState of the corresponding ND::TReconPID.
int Status
The reported Status of the corresponding ND::TReconShower.
short ValidDimensions
Bit flag demarkating valid dimensions for this track's position.
virtual ObjectID FillVertexObject(const ND::THandle< ND::TReconVertex >, bool saveHits)
float EDeposit
The total reconstructed energy deposit of the ND::TMEDepositState of the relevant ND::TReconNode...
virtual std::vector< int > HitTruthPrimaryInfo(const ND::THandle< ND::THitSelection >)
short NHits
A count of the Hits associated with this object.
Short_t fNAlgoResults
The number of Algorithm Results.
float Length
The length of the track calculated by summing over the distances.
TClonesArray * fClusters
The TP0DCluster vector of clusters.
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
float SideDeposit
The deposited charge in the side bars.
virtual bool FillTree(ND::TND280Event &)
Fill all the stuff that goes in the output tree.
ClassDef(TP0DReconModule::TP0DNode, 5)
short NHits
A count of the Hits associated with this object.
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this reconstructed vertex.
Contains a summary of the reconstruction information in a TReconVertex.
float Time
Reconstructed hit time from the corresponding TSingleHit.
Contains a summary of the reconstruction information in a TReconNode.
float Length
The RMS length of the shower, the extent parallel to the direction.
short ValidDimensions
Bit flag demarkating valid dimensions for this shower's position.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this reconstructed particle (probably not what you want for ...
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
short NHits
A count of the Hits associated with this object.
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
static const int arraySize
Size of the TP0DCluster::Moments array.
ClassDef(TP0DReconModule::TP0DCluster, 7)
ClassDef(TP0DReconModule::TP0DParticle, 5)
short Cycle
The cycle number, based on the first hit.
Short_t fNNodes
The number of track nodes.
short Cycle
The cycle number, based on the first hit.
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
std::vector< short > Hits
Holds internal Ids of Hits pertinent to this reconstruction node.
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this reconstructed track.
OType_t type
The reconstruction object type that this internal Id refers to.
Short_t fNShowers
The number of showers.
Short_t fNParticles
The number of particles.
UInt_t UniqueID
The Unique ID of the corresponding ND::TReconCluster, used for global-subdetector matching...
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
virtual ObjectID FillClusterObject(const ND::THandle< ND::TReconCluster >, bool saveHits)
virtual EType GetTreeType() const
Returns the type of tree, header, truth, or recon.
float EDeposit
The total reconstructed energy deposit of the corresponding ND::TReconTrack.
short ValidDimensions
Bit flag demarkating valid dimensions for this vertex's position.
float EndDeposit
The deposited charge in the end p0dules.
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this algorithm result.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this reconstructed cluster.
int NDOF
The Number of Degrees of Freedom in the reconstruction of the corresponding ND::TReconTrack.
std::string FullName
The name of the p0dRecon algorithm that corresponds to this.
std::vector< short > Truth_HitCount
The number of THits that each truth trajectory contributed to.
int Status
The reported Status of the corresponding ND::TReconTrack.
short ValidDimensions
Bit flag demarkating valid dimensions for this particle's position.
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
TLorentzVector PosVariance
Variance on the position of the TVertexState of the corresponding ND::TReconVertex.
Contains a summary of the reconstruction information in a TReconCluster. Contains a summary of the re...
std::vector< std::vector< short > > integerPIDValues
Holds the PID variable values from ND::TIntegerDatum stored in the TReconPID.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this reconstructed vertex.
virtual Bool_t ProcessFirstEvent(ND::TND280Event &)
Is called after the first event is loaded in.
TP0DReconModule(const char *name="P0D", const char *title="P0D Recon Module")
TLorentzVector Position
Position of the TPIDState of the corresponding ND::TReconPID.
short FillHit(const ND::THandle< ND::THit >)
void FillBaseObject(T basePtr, ND::THandle< ND::TReconBase > baseObject, bool saveHits)
float Charge
Reconstructed hit charge without attenuation correction from the corresponding TSingleHit.
TClonesArray * fNodes
The TP0DNode vector of nodes.
UInt_t UniqueID
The Unique ID of the corresponding ND::TReconPID, used for global-subdetector matching.
short NHits
A count of the Hits associated with this object.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this reconstructed shower.
float EDeposit
The total reconstructed energy deposit of the corresponding ND::TReconShower.
short GetCycle(const ND::THandle< ND::THitSelection >)
float Quality
The reported reconstruction 'quality' of the corresponding ND::TReconTrack.
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this ve...
TLorentzVector Position
Position of the corresponding ND::TReconCluster.
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this reconstructed shower.
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
Short_t fNClusters
The number of clusters.
TVector3 DirVariance
Variance on the TP0DNode::Direction of the TMPositionDirectionState of the corresponding ND::TReconNo...
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
TClonesArray * fTracks
The TP0DTrack vector of tracks.
std::vector< short > Clusters
Holds internal Ids of Clusters pertinent to this reconstructed particle.
virtual ObjectID FillReconObject(const ND::THandle< ND::TReconBase >, bool saveHits)
std::vector< short > Vertices
Holds internal Ids of Vertices pertinent to this reconstructed track.
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this tr...
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this reconstructed particle.
UInt_t UniqueID
The Unique ID of the corresponding ND::TReconVertex, used for global-subdetector matching.
short UsedHitCluster
The internal Id of the cluster of hits which were used in a.
UInt_t UniqueID
UNUSED: A unique ID used for reconstruction objects.
float Momentum
The reconstructed momentum of the corresponding TReconPID.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this reconstructed track.
float Cone
The opening angle of the TShowerState cone of the corresponding TReconShower.
short CountValidDimensions(TVector3 posVar)
short UnusedHitCluster
The internal Id of the cluster of hits which were not used in a.
virtual short FillNode(const ND::THandle< ND::TReconNode >, bool saveHits)
Short_t fNVertices
The number of added vertices.
TLorentzVector Position
Position of the TShowerState of the corresponding ND::TReconShower.
short NFiducialHits
The number of THits in the cluster which are within the fiducial volume.
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
virtual short FillAlgorithmResult(const ND::THandle< ND::TAlgorithmResult >, short)
std::vector< short > Particles
Holds internal Ids of Particles pertinent to this reconstructed cluster.
short Cycle
The cycle number, based on the first hit.
std::map< UInt_t, short > fTempHitMap
Scratch space to keep track of already summarised THits.
std::vector< float > Truth_ChargeShare
The weighted reconstructed charge deposited by each truth trajectory.
TLorentzVector Position
Position of the TVertexState of the corresponding ND::TReconVertex.
float Quality
The reported reconstruction 'quality' of the corresponding ND::TReconVertex.
TLorentzVector Position
Position of the TTrackState of the corresponding ND::TReconTrack.
UInt_t ChanID
Channel Id of the TSingleHit.
virtual void InitializeBranches()
Initialize Branches. Don't do anything else in this function.
std::vector< short > AlgoResults
Holds internal Ids of daughter algorithm results to this one.
virtual ~TP0DReconModule()
int Status
The reported Status of the corresponding ND::TReconVertex.
std::vector< short > Tracks
Holds internal Ids of Tracks pertinent to this reconstructed vertex.
short ValidDimensions
Bit flag demarkating valid dimensions for this node's position.
ClassDef(TP0DReconModule::TP0DVertex, 4)
TVector3 Direction
Direction of the TMPositionDirectionState of the corresponding ND::TReconNode.
Short_t fNTracks
The number of tracks.
std::vector< short > PID
Potential PIDs (ND::TReconPID::ParticleId) matching with.
An internal Id and object type for each Reconstruction object.
Short_t fNHits
The number of hits that are saved.
std::vector< short > Showers
Holds internal Ids of Showers pertinent to this algorithm result.
ClassDef(TP0DReconModule::TP0DShower, 5)
std::string AlgorithmName
The name of the p0dRecon algorithm that created this object.
std::vector< int > Truth_PrimaryTrajIDs
The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of...
std::vector< int > Truth_TrajIDs
The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this ve...
float EDeposit
The total reconstructed energy deposit of the corresponding ND::TReconCluster.
A base class for analysis output modules which contain reconstructed event information.
std::vector< short > Nodes
Holds internal Ids of Nodes pertinent to this reconstructed vertex.