1 #ifndef DataClassesIO_hxx 2 #define DataClassesIO_hxx 4 #include "DataClasses.hxx" 5 #include "P0DDataClasses.hxx" 6 #include "OutputManager.hxx" 7 #include "TreeConverterUtils.hxx" 9 extern Int_t prefix_index;
10 extern Int_t counter_index;
12 const UInt_t NSubDet = 6;
18 void Define(
OutputManager& man,
const std::string& counter,
const Int_t size2,
const std::string& prefix);
33 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
34 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
51 ReconParticles = std::vector<AnaParticleB*>(vertex.
ReconParticles.size(), NULL);
52 ReconVertices = std::vector<AnaVertexB*>(vertex.
ReconVertices.size(), NULL);
54 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
55 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
69 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
70 virtual void Write(
OutputManager& man,
const Int_t trueVertexIndex,
const std::string& prefix=
"")
const;
84 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
85 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
98 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
99 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
112 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
113 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
126 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
127 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
140 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
141 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
154 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
155 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
169 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
170 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
183 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
184 virtual void Write(
OutputManager& man,
const std::vector<int> trueVertexIndices,
const std::string& prefix=
"")
const;
197 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
198 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
211 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
212 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
235 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
236 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
248 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
249 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
261 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
262 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
277 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
280 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
309 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
310 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
325 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
326 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
341 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix=
"")
const;
344 virtual void Write(
OutputManager& man,
const std::string& prefix=
"", Int_t indx1=-1, Int_t indx2=0)
const;
358 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
359 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
374 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
375 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
388 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
389 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
405 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
406 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
420 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
421 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
435 virtual void Define(
OutputManager& man,
const std::string& counter,
const std::string& prefix)
const;
436 virtual void Write (
OutputManager& man,
const std::string& prefix )
const;
450 virtual void Define(
OutputManager& man,
const std::string& prefix=
"")
const;
453 virtual void Write(
OutputManager& man,
const std::string& prefix=
"")
const;
479 tpcCharge = (subUniqueID + 1) * NSubDet,
483 tpcEFieldRefitMomentum,
537 globalDirectionStart,
542 globalRangeMomentumMuon,
544 globalDirectionStartFlip,
549 globalToFFlag_FGD1_FGD2,
550 globalToFFlag_P0D_FGD1,
551 globalToFFlag_ECal_FGD1,
552 globalToFFlag_ECal_FGD2,
557 detCrossEntrancePosition,
558 detCrossExitPosition,
559 detCrossEntranceMomentum,
560 detCrossExitMomentum,
571 trueTrackPositionEnd,
573 trueTrackTruthVertexID,
574 trueTrackNDetCrossings,
582 trueVertexNTrueTracks,
598 spillNTotalTrueVertices,
599 spillNTotalTrueTracks,
621 vertexNTrueVerticesMatch,
622 vertexTracksUniqueID,
623 vertexTrueVertexIndex,
624 vertexTrueVerticesClean,
625 vertexTrueVerticesCompl,
651 #
if VERSION_HAS_FGD_VERTEX_AND_END_ACTIVITY
661 #
if VERSION_HAS_FGD_VERTEX_AND_END_ACTIVITY
676 ecalMostUpStreamLayerHit,
695 globalMomentumErrorMuon,
696 globalMomentumProton,
697 globalMomentumErrorProton,
699 globalMomentumErrorEle,
700 #
if VERSION_HAS_REVERSED_REFITS
701 globalPositionStartFlip,
702 globalDirectionEndFlip,
705 #
if VERSION_HAS_PRANGE_ESTIMATES
706 globalRangeMomentumEle,
707 globalRangeMomentumProton,
708 globalRangeMomentumMuonFlip,
709 globalRangeMomentumProtonFlip,
711 globalNReconVertices,
712 globalMomentumAtVertex,
713 globalDirectionAtVertex,
719 globalTimeNodeDetector,
720 globalTimeNodeTimeStart,
721 globalTimeNodeTimeEnd,
748 trueVertexRooVtxIndex,
749 trueVertexRooVtxEntry,
753 trueVertexNuParentPDG,
754 trueVertexNuParentDecPoint,
766 trueVertexNReconTracks,
767 trueVertexNReconVertices,
768 trueVertexIsPauliBlocked,
770 trueVertexNPrimaryParticles,
776 trueTrackNReconTracks,
777 trueTrackVertexIndex,
778 trueTrackIsTruePrimaryPi0DecayPhoton,
779 trueTrackIsTruePrimaryPi0DecayPhotonChild,
789 tecalReconAverageHitTime,
790 tecalReconAverageZPos,
791 tecalReconContainment,
792 tecalReconEFitResult,
793 tecalReconEFitUncertainty,
794 tecalReconFirstLayer,
795 tecalReconIsShowerLike,
796 tecalReconIsTrackLike,
799 tecalReconLikeMIPPion,
801 tecalReconLikeMIPEMLow,
802 tecalReconMatchingLike,
803 tecalReconMichelTagNDelayedCluster,
805 tecalReconMostDownStreamLayerHit,
806 tecalReconMostUpStreamLayerHit,
808 tecalReconNLayersHit,
809 tecalReconObjectLength,
812 tecalReconPIDAsymmetry,
813 tecalReconPIDCircularity,
815 tecalReconPIDMaxRatio,
816 tecalReconPIDMeanPos,
817 tecalReconPIDShowerAngle,
818 tecalReconPIDShowerWidth,
819 tecalReconPIDTransverseChargeRatio,
820 tecalReconPIDTruncatedMaxRatio,
823 tecalReconThrustAxis,
824 tecalReconThrustOrigin,
826 tecalReconTotalHitCharge,
828 tecalReconTrueIDPrimary,
829 tecalReconTrueIDRecursive,
830 tecalReconTrueIDSingle,
835 tecalUnmatchedAverageHitTime,
836 tecalUnmatchedBackPos,
837 tecalUnmatchedFrontPos,
838 tecalUnmatchedMostDownStreamLayerHit,
839 tecalUnmatchedMostUpStreamLayerHit,
841 tecalUnmatchedTotalHitCharge,
842 tecalUnmatchedTrueID,
843 tecalUnmatchedTrueIDPrimary,
844 tecalUnmatchedTrueIDRecursive,
845 tecalUnmatchedTrueIDSingle,
850 p0dVertexAlgorithmName,
865 p0dVertexTruth_PrimaryTrajIDs,
866 p0dVertexTruth_TrajIDs,
867 p0dVertexTruth_HitCount,
868 p0dVertexTruth_ChargeShare,
870 p0dVertexPosVariance,
871 p0dVertexValidDimensions,
875 p0dParticleAlgorithmName,
881 p0dParticleParticles,
890 p0dParticleTruth_PrimaryTrajIDs,
891 p0dParticleTruth_TrajIDs,
892 p0dParticleTruth_HitCount,
893 p0dParticleTruth_ChargeShare,
895 p0dParticleSideDeposit,
896 p0dParticleEndDeposit,
898 p0dParticlePosVariance,
899 p0dParticleValidDimensions,
900 p0dParticleDirection,
901 p0dParticleDirVariance,
907 p0dClusterAlgorithmName,
919 p0dClusterTruth_PrimaryTrajIDs,
920 p0dClusterTruth_TrajIDs,
921 p0dClusterTruth_HitCount,
922 p0dClusterTruth_ChargeShare,
923 p0dClusterNFiducialHits,
926 p0dClusterPosVariance,
927 p0dClusterValidDimensions,
936 static unsigned int offsetTPC;
937 static unsigned int offsetFGD;
938 static unsigned int offsetECAL;
939 static unsigned int offsetSMRD;
940 static unsigned int offsetP0D;
941 static unsigned int offsetTRACKER;
Representation of a true Monte Carlo trajectory/particle.
AnaEventIO(const AnaEvent &event)
A constructor from the corresponding base class.
Representation of a global track.
Representation of an ECAL segment of a global track.
Representation of the ND280 data quality flags.
Representation of detector time info.
AnaEventInfoIO(const AnaEventInfo &info)
A constructor from the corresponding base class.
Representation of the beam information, including POT and quality.
Representation of the ND280 trigger bits.
Representation of a true Monte Carlo vertex.
Representation of an SMRD segment of a global track.
AnaBeamIO(const AnaBeam &beam)
A constructor from the corresponding base class.
AnaP0DReconVertexIO(const AnaP0DReconVertex &vertex)
A constructor from the corresponding base class.
AnaTPCParticleIO(const AnaTPCParticle &particle)
A constructor from the corresponding base class.
AnaTrueVertexIO(const AnaTrueVertex &vertex)
A constructor from the corresponding base class.
AnaDataQualityIO(const AnaDataQualityB &dq)
A constructor from the corresponding base class.
AnaP0DParticleIO(const AnaP0DParticle &particle)
A constructor from the corresponding base class.
This Ana* object is used to flatten TECALReconObjects from ReconDir/TrackerECal.
AnaP0DReconClusterIO(const AnaP0DReconCluster &cluster)
A constructor from the corresponding base class.
Representation of detector time info.
AnaDetCrossingIO(const AnaDetCrossingB &cross)
A constructor from the corresponding base class.
AnaFgdTimeBinIO(const AnaFgdTimeBin &bin)
A constructor from the corresponding base class.
Representation of a true Monte Carlo vertex.
AnaTrackerTrackIO(const AnaTrackerTrack &track)
A constructor from the corresponding base class.
std::vector< AnaVertexB * > ReconVertices
Vector of pointers to AnaVertexB (global vertices) associated with this true vertex.
Representation of a detector crossing info for a true particle (G4 trajectory).
AnaFGDParticleIO(const AnaFGDParticle &particle)
A constructor from the corresponding base class.
Representation of a Tracker segment of a global track.
AnaVertexIO(const AnaVertex &vertex)
A constructor from the corresponding base class.
AnaTriggerIO(const AnaTrigger &trigger)
A constructor from the corresponding base class.
Representation of the ND280 data quality flags.
AnaECALParticleIO(const AnaECALParticle &particle)
A constructor from the corresponding base class.
Representation of a FGD segment of a global track.
Representation of a P0D segment of a global track.
This is a base P0D object that shares the common attributes of Vertex, Particle, Track, Shower, Cluster, Hit.
Representation of the ND280 trigger bits.
This Ana* object is used to flatten TECALUnmatchedObjects from ReconDir/TrackerECal.
Representation of a detector crossing info for a trajectory/track.
AnaTimeNodeIO(const AnaTimeNode &node)
A constructor from the corresponding base class.
AnaLocalReconBunchIO(const AnaLocalReconBunch &bunch)
A constructor from the corresponding base class.
AnaP0DReconObjectIO(const AnaP0DReconObject &object)
A constructor from the corresponding base class.
Representation of a global track.
Representation of a TPC segment of a global track.
AnaSMRDParticleIO(const AnaSMRDParticle &particle)
A constructor from the corresponding base class.
AnaTECALUnmatchedObjectIO(const AnaTECALUnmatchedObject &object)
A constructor from the corresponding base class.
Representation of a reconstructed particle (track or shower).
Representation of a TPC segment of a global particle.
Representation of a true Monte Carlo trajectory/particle.
Representation of the beam information, including POT and quality.
AnaP0DReconParticleIO(const AnaP0DReconParticle &particle)
A constructor from the corresponding base class.
std::vector< AnaParticleB * > ReconParticles
Representation of a global vertex.
AnaTECALReconObjectIO(const AnaTECALReconObject &object)
A constructor from the corresponding base class.