1 #ifndef DataClasses_hxx 2 #define DataClasses_hxx 4 #include "BaseDataClasses.hxx" 5 #include "Versioning.hxx" 6 #include "ParticleId.hxx" 8 const UInt_t NMAXTIMENODES=10;
91 Float_t NuParentDecPoint[4];
106 Float_t LeptonDir[3];
112 Float_t ProtonDir[3];
121 Int_t NPrimaryParticles[Int_t(ParticleId::kLast)+1];
136 Float_t TargetDir[3];
200 bool IsTruePrimaryPi0DecayPhotonChild;
216 virtual void Print()
const;
253 Float_t DirectionStartFlip[3];
255 #if VERSION_HAS_REVERSED_REFITS 258 Float_t PositionStartFlip[4];
261 Float_t DirectionEndFlip[3];
265 #if VERSION_HAS_PRANGE_ESTIMATES 268 Float_t RangeMomentumEle;
273 Float_t RangeMomentumProton;
276 Float_t RangeMomentumMuonFlip;
279 Float_t RangeMomentumProtonFlip;
293 TVector3 UpstreamHits_Position[2];
294 TVector3 DownstreamHits_Position[2];
295 Float_t UpstreamHits_Charge[2];
296 Float_t DownstreamHits_Charge[2];
309 Float_t DirectionAtVertex[3];
312 #if VERSION_HAS_TIME_FITS 314 std::vector<AnaTimeNode*> TimeNodes;
351 virtual void Print()
const;
391 virtual void Print()
const;
400 #if VERSION_HAS_BFIELD_REFIT_FULL 405 Float_t RefitDirection[3];
408 Float_t RefitPosition[4];
470 #if VERSION_HAS_FGD_VERTEX_AND_END_ACTIVITY 474 Int_t HasFgdVA_fmode;
486 #if VERSION_HAS_FGD_VERTEX_AND_END_ACTIVITY 490 Int_t HasFgdEA_fmode;
583 virtual void Print()
const;
673 #if !VERSION_HAS_OFFICIAL_POT 741 virtual void Print()
const;
772 virtual void Print()
const;
809 virtual void Print()
const;
843 virtual void Print()
const;
846 virtual void RedoLinks();
857 virtual void associateVertexToTrueVertex(
AnaVertexB*)
const;
860 virtual void associateParticleToTrueParticle(
AnaParticleB*)
const;
890 virtual void Print()
const;
915 virtual void Print()
const;
938 const UInt_t NMAXTECALRECONOBJECTS =20;
939 const UInt_t NMAXTECALUNMATCHEOBJECTS=20;
965 Float_t AverageHitTime;
969 Float_t EFitUncertainty;
977 Float_t LikeMIPEMLow;
978 Float_t MatchingLike;
979 Int_t MichelTagNDelayedCluster;
981 Int_t MostDownStreamLayerHit;
982 Int_t MostUpStreamLayerHit;
985 Float_t ObjectLength;
988 Float_t PIDAsymmetry;
989 Float_t PIDCircularity;
993 Float_t PIDShowerAngle;
994 Float_t PIDShowerWidth;
995 Float_t PIDTransverseChargeRatio;
996 Float_t PIDTruncatedMaxRatio;
999 Float_t ThrustAxis[3];
1000 Float_t ThrustOrigin[3];
1002 Float_t TotalHitCharge;
1004 Int_t TrueIDPrimary;
1005 Int_t TrueIDRecursive;
1028 virtual void Print()
const;
1038 Float_t AverageHitTime;
1039 Float_t BackPos [3];
1040 Float_t FrontPos[3];
1041 Int_t MostDownStreamLayerHit;
1042 Int_t MostUpStreamLayerHit;
1044 Float_t TotalHitCharge;
1046 Int_t TrueIDPrimary;
1047 Int_t TrueIDRecursive;
1095 const UInt_t NMAXP0DRECONOBJECTS = 100;
1116 virtual void Print()
const;
1118 std::vector<AnaP0DReconVertex*> VerticesP;
1119 std::vector<AnaP0DReconParticle*> ParticlesP;
1120 std::vector<AnaP0DReconCluster*> ClustersP;
1123 std::vector<Short_t> Vertices;
1124 std::vector<Short_t> Particles;
1125 std::vector<Short_t> Tracks;
1126 std::vector<Short_t> Showers;
1127 std::vector<Short_t> Clusters;
1128 std::vector<Short_t> Nodes;
1129 std::vector<Short_t> Hits;
1131 std::vector<Int_t> Truth_PrimaryTrajIDs;
1132 std::vector<Int_t> Truth_TrajIDs;
1133 std::vector<Short_t> Truth_HitCount;
1134 std::vector<Float_t> Truth_ChargeShare;
1135 Float_t Position [4];
1136 Float_t PosVariance[4];
1137 Short_t ValidDimensions;
1139 std::string AlgorithmName;
1142 unsigned int UniqueID;
1197 Float_t SideDeposit;
1199 Float_t Direction [3];
1200 Float_t DirVariance[3];
1206 std::vector<std::string> realPIDNames;
1207 std::vector<std::vector<Float_t> > realPIDValues;
1208 std::vector<std::string> integerPIDNames;
1209 std::vector<std::vector<Short_t> > integerPIDValues;
1212 std::vector<Short_t> PID;
1213 std::vector<Float_t> PID_weight;
1241 Short_t NFiducialHits;
1282 virtual void Print()
const;
1285 virtual bool IsEmpty()
const;
1294 std::vector<AnaTECALReconObject* > TECALReconObjects;
1295 std::vector<AnaTECALUnmatchedObject*> TECALUnmatchedObjects;
1296 std::vector<AnaPECALReconObject* > PECALReconObjects;
1297 std::vector<AnaPECALUnmatchedObject*> PECALUnmatchedObjects;
1298 std::vector<AnaP0DReconVertex* > P0DReconVertices;
1299 std::vector<AnaP0DReconParticle* > P0DReconParticles;
1300 std::vector<AnaP0DReconCluster* > P0DReconClusters;
1301 std::vector<AnaFGDOnlyReconObject* > FGDOnlyReconObjects;
1314 event->isClone=
true;
1325 std::vector<AnaTECALReconObject* > TECALReconObjects;
1326 std::vector<AnaTECALUnmatchedObject*> TECALUnmatchedObjects;
1327 std::vector<AnaPECALReconObject* > PECALReconObjects;
1328 std::vector<AnaPECALUnmatchedObject*> PECALUnmatchedObjects;
1329 std::vector<AnaP0DReconVertex* > P0DReconVertices;
1330 std::vector<AnaP0DReconParticle* > P0DReconParticles;
1331 std::vector<AnaP0DReconCluster* > P0DReconClusters;
1332 std::vector<AnaFGDOnlyReconObject* > FGDOnlyReconObjects;
Float_t Pullmu
Muon pull of the segment: (dEdxMeas-dEdxexpMuon)/dEdxSigmaMuon.
virtual AnaP0DReconVertex * Clone()
Clone this object.
Float_t MomentumAtVertex
The reconstructed momentum of the track, at the most primary global vertex (if exists).
Representation of the beam quality and perhaps other beam information as needed.
Representation of a global track.
Representation of the ND280 data quality flags.
Int_t InputFileIndex
Index of the input file producing this spill.
virtual void RedoLinks()
Redo reco-reco and reco-truth after cloning or reading MiniTree.
Int_t LeptonPDG
The PDG code of the primary outgoing electron/muon.
virtual AnaTimeNode * Clone()
Clone this object.
Float_t MomentumEle
Momentum from refitting the track assuming the electron hypothesis.
bool IsTruePrimaryPi0DecayPhoton
Is this a true primary pi0 decay photon or the child of one?
Int_t NDOF
The number of degrees of freedom of the fit using a Kalman filter.
bool FGDCosmic
FGD cosmic trigger flag.
Int_t NuParentPDG
Neutrino parent PDG code.
Representation of the ND280 trigger bits.
Int_t NDOF
The number of degrees of freedom when the track was fitted with a Kalman filter.
virtual AnaEventInfo * Clone()
Clone this object.
Int_t RooVtxIndex
The index of the associated RooTrackerVtx vertex from its position in the TClonesArray.
virtual void Print() const
Dump the object to screen.
Representation of a true Monte Carlo vertex.
Float_t E
Input to the pull calculations. Needs to be documented properly in oaAnalysis.
Float_t Pullpi
Pion pull of the segment: (dEdxMeas-dEdxexpPion)/dEdxSigmaPion.
std::vector< std::vector< Int_t > > AccumLevel
Accumulated cut level for all selections and cut branches. Tell us if a true vertex has been selected...
Int_t NBaryons
The total number of primary baryons that were ejected.
virtual AnaDataQuality * Clone()
Clone this object.
Representation of an ECAL segment of a global track.
Representation of the ND280 data quality flags.
Float_t Vertex1x1
Vertex activity variables.
virtual AnaPECALReconObject * Clone()
Clone this object.
Int_t Bunch
The bunch of the track, based on the PositionStart.T()
virtual AnaTrack * Clone()
Clone this object.
Float_t Length
The number of hits in the reconstructed object.
virtual AnaTPCParticle * Clone()
Clone this object.
This Ana* object is used to flatten TECALReconObjects from ReconDir/TrackerECal.
Float_t MomentumErrorProton
Error on momentum from refitting the track assuming the proton hypothesis.
virtual AnaFGDOnlyReconObject * Clone()
Clone this object.
Float_t AvgTime
Average Time for the iso FGD hits.
Int_t TargetPDG
The PDG code of the target nucleus.
virtual AnaTrueParticle * Clone()
Clone this object.
std::vector< AnaParticleB * > ReconParticles
Vector of pointers to AnaParticle's associated with this true particle.
Float_t Chi2
The chi2 value of the fit using a Kalman filter.
bool isClone
Is this the original Event or a clone.
virtual AnaBeam * Clone()
Clone this object.
Int_t Spill
Spill number from BeamSummaryDataModule::ND280Spill.
Float_t Chi2
The chi2 value when the track was fitted using a Kalman filter.
Representation of detector time info.
Float_t POTCT4
The POT from CT4 for this spill. This is only needed for P5 files.
Float_t ProtonMom
The momentum of the primary outgoing protons listed first (likely the interacted one).
Float_t LeptonMom
The momentum of the primary outgoing electron/muon.
Representation of a true Monte Carlo vertex.
Representation of a true Monte Carlo trajectory/particle.
Representation of an SMRD segment of a global track.
Representation of a Tracker segment of a global track.
virtual AnaP0DReconParticle * Clone()
Clone this object.
Float_t dEdxSigmaKaon
Expected error on the dE/dx measurement, for the proton hypothesis.
virtual AnaTECALUnmatchedObject * Clone()
Clone this object.
std::vector< AnaVertexB * > ReconVertices
Vector of pointers to AnaVertexB (global vertices) associated with this true vertex.
virtual AnaParticleE * Clone()
Clone this object.
virtual AnaSpill * Clone()
Clone this object.
Int_t SpillNumber
Spill number from BeamSummaryDataModule::BeamSummaryData::SpillNumber.
Float_t MomentumErrorMuon
Error on momentum from refitting the track assuming the muon hypothesis.
virtual void Print() const
Dump the object to screen.
AnaFGDOnlyReconObject(const AnaTECALReconObject &)
Copy constructor is protected, as Clone() should be used to copy this object.
AnaPECALReconObject(const AnaTECALReconObject &)
Copy constructor is protected, as Clone() should be used to copy this object.
virtual AnaLocalReconEvent * Clone()
Clone this object.
Float_t MomentumErrorEle
Error on momentum from refitting the track assuming the electron hypothesis.
Representation of a global track.
bool TripTCosmic
TripT cosmic trigger flag.
This Ana* object is used to flatten PECALReconObjects from ReconDir/P0DECal.
Int_t EventTime
The ND280 subrun number.
Representation of a TPC segment of a global track.
virtual AnaTECALReconObject * Clone()
Clone this object.
Float_t Pullk
Kaon pull of the segment: (dEdxMeas-dEdxexpPion)/dEdxSigmaKaon.
virtual AnaFGDParticle * Clone()
Clone this object.
std::vector< AnaTrackerTrackB * > TRACKERSegments
The TRACKER segments that contributed to this global track.
virtual AnaFgdTimeBin * Clone()
Clone this object.
Float_t Pullp
Proton pull of the segment: (dEdxMeas-dEdxexpProton)/dEdxSigmaProton.
Representation of a global vertex.
AnaVertexB * ReconVertex
The pointer to the most primary AnaVertexB (global vertex) associated with this track.
Int_t RooVtxEntry
Not in the MiniTree for the Moment since it produces a seg fault.
Float_t Length
The length of this global track.
This is a base P0D object that shares the common attributes of Vertex, Particle, Track, Shower, Cluster, Hit.
Float_t MomentumError
The error on the reconstructed momentum.
virtual AnaVertex * Clone()
Clone this object.
Representation of a FGD segment of a global track.
std::vector< AnaVertexB * > ReconVertices
Vector of pointers to AnaVertexB (global vertices) associated with this track.
AnaPECALUnmatchedObject(const AnaTECALReconObject &)
Copy constructor is protected, as Clone() should be used to copy this object.
This Ana* object is used to flatten TECALUnmatchedObjects from ReconDir/TrackerECal.
AnaParticle(const AnaParticle &part)
Copy constructor is protected, as Clone() should be used to copy this object.
virtual AnaLocalReconBunch * Clone()
Clone this object.
Float_t Pullele
Electron pull of the segment: (dEdxMeas-dEdxexpEle)/dEdxSigmaEle.
virtual AnaPECALUnmatchedObject * Clone()
Clone this object.
Float_t Q2
The Q2 of the true interaction.
AnaTrigger Trigger
Not in the MiniTree for the Moment since it produces a seg fault.
Int_t RooVtxEntry
Entry in the RooTrackerVtx tree (not set directly)
virtual AnaECALParticle * Clone()
Clone this object.
virtual AnaParticle * Clone()
Clone this object.
Float_t Purity
The purity with which this particle was matched to a reconstructed object.
virtual AnaP0DReconCluster * Clone()
Clone this object.
Representation of a TPC segment of a global track.
bool isClone
Is this the original Event or a clone.
Float_t TimeStart
Start time.
virtual AnaEvent * Clone()
Clone this object.
virtual AnaSubTrack * Clone()
Clone this object.
Representation of a reconstructed particle (track or shower).
Int_t ReconPDG
PDG of the most probable particle hypothesis used at reconstruction level.
virtual AnaBunch * Clone()
Clone this object.
Representation of a true Monte Carlo trajectory/particle.
Float_t MomentumMuon
Momentum from refitting the track assuming the muon hypothesis.
virtual AnaTrackerTrack * Clone()
Clone this object.
Representation of the beam information, including POT and quality.
AnaTrigger Trigger
The trigger flags for this event.
Float_t POT
The POT for this spill. For data, this comes from the Beam Summary Data.
Float_t dEdxexpKaon
Expected dE/dx for a proton, based on the reconstructed momentum.
Float_t TargetMom
The momentum of the target nucleus.
Float_t PionMom
The momentum of the primary outgoing pions listed first (likely the interacted one).
Extension to AnaParticleB to be used by aggregation.
virtual AnaTrueVertex * Clone()
Clone this object.
std::vector< AnaParticleB * > ReconParticles
virtual AnaTrigger * Clone()
Clone this object.
Float_t MomentumProton
Momentum from refitting the track assuming the proton hypothesis.
virtual AnaSMRDParticle * Clone()
Clone this object.