diff --git a/graf3d/eve/inc/TEveVSD.h b/graf3d/eve/inc/TEveVSD.h index 0af7163ca4ba6dc6a0159bfadce35485fb16f379..34d2a048cbebef134ec21a5f3637f39d8c518c8c 100644 --- a/graf3d/eve/inc/TEveVSD.h +++ b/graf3d/eve/inc/TEveVSD.h @@ -28,13 +28,14 @@ protected: TDirectory* fDirectory; //! public: - TTree* fTreeK; //! - TTree* fTreeH; //! - TTree* fTreeC; //! - TTree* fTreeR; //! - TTree* fTreeKK; //! - TTree* fTreeV0; //! - TTree* fTreeGI; //! + TTree* fTreeK; //! Kinematics. + TTree* fTreeH; //! Hits. + TTree* fTreeC; //! Clusters. + TTree* fTreeR; //! Reconstructed tracks. + TTree* fTreeKK; //! Kinks. + TTree* fTreeV0; //! VO's. + TTree* fTreeCC; //! Cascades. + TTree* fTreeGI; //! Sim-Rec cross references. TEveMCTrack fK, *fpK; //! TEveHit fH, *fpH; //! @@ -42,6 +43,7 @@ public: TEveRecTrack fR, *fpR; //! TEveRecKink fKK, *fpKK; //! TEveRecV0 fV0, *fpV0; //! + TEveRecCascade fCC, *fpCC; //! TEveMCRecCrossRef fGI, *fpGI; //! public: diff --git a/graf3d/eve/inc/TEveVSDStructs.h b/graf3d/eve/inc/TEveVSDStructs.h index 3c1c702b98300cfa64efc4bca25f1ab5516bf219..2839ae72c1b20a3491d0521a3535bc4b256dd666 100644 --- a/graf3d/eve/inc/TEveVSDStructs.h +++ b/graf3d/eve/inc/TEveVSDStructs.h @@ -33,6 +33,7 @@ // * placement in TClonesArray (composites are TObject derived); // // * minimal member-naming (impossible to make everybody happy). +// /******************************************************************************/ @@ -366,12 +367,39 @@ public: ClassDef(TEveRecV0, 1); // Reconstructed V0 (also used in VSD). }; + /******************************************************************************/ +// TEveRecCascade /******************************************************************************/ -// Missing primary vertex. +class TEveRecCascade : public TObject +{ +public: + Int_t fStatus; + + TEveVector fVBac; // Vertex of bachelor track. + TEveVector fPBac; // Momentum of bachelor track. + + TEveVector fCascadeVCa; // Point of closest approach for Cascade. + TEveVector fCascadeBirth; // Reconstucted birth point of cascade particle. + + // ? Data from simulation. + Int_t fLabel; // Cascade mother label read from kinematics. + Int_t fPdg; // PDG code of mother. + Int_t fDLabel; // Daughter label. + + TEveRecCascade() : fStatus(), fVBac(), fPBac(), + fCascadeVCa(), fCascadeBirth(), + fLabel(0), fPdg(0), fDLabel(0) {} + virtual ~TEveRecCascade() {} -// Missing TEveMCRecCrossRef, RecInfo. + ClassDef(TEveRecCascade, 1); // Reconstructed Cascade (also used in VSD). +}; + + +/******************************************************************************/ +// TEveMCRecCrossRef +/******************************************************************************/ class TEveMCRecCrossRef : public TObject { @@ -390,6 +418,12 @@ public: ClassDef(TEveMCRecCrossRef, 1); // Cross-reference of sim/rec data per particle (also used in VSD). }; + +/******************************************************************************/ +// Missing primary vertex class. +/******************************************************************************/ + + /******************************************************************************/ /******************************************************************************/ diff --git a/graf3d/eve/src/TEveVSD.cxx b/graf3d/eve/src/TEveVSD.cxx index f01c5bb86837cfe435f0f5307145e6120801ecb3..633296e2dd8be89a04c890ee6c5504d16f66e9ad 100644 --- a/graf3d/eve/src/TEveVSD.cxx +++ b/graf3d/eve/src/TEveVSD.cxx @@ -12,13 +12,16 @@ #include "TEveVSD.h" #include "TFile.h" -//______________________________________________________________________________ +//============================================================================== // TEveVSD +//============================================================================== + +//______________________________________________________________________________ // // Visualization Summary Data - a collection of trees holding standard // event data in experiment independant format. -ClassImp(TEveVSD) +ClassImp(TEveVSD); //______________________________________________________________________________ TEveVSD::TEveVSD(const Text_t* , const Text_t* ) : @@ -35,6 +38,7 @@ TEveVSD::TEveVSD(const Text_t* , const Text_t* ) : fTreeR (0), fTreeKK (0), fTreeV0 (0), + fTreeCC (0), fTreeGI (0), fK(), fpK (&fK), @@ -43,6 +47,7 @@ TEveVSD::TEveVSD(const Text_t* , const Text_t* ) : fR(), fpR (&fR), fKK(), fpKK(&fKK), fV0(), fpV0(&fV0), + fCC(), fpCC(&fCC), fGI(), fpGI(&fGI) { // Constructor. @@ -71,6 +76,7 @@ void TEveVSD::CreateTrees() fTreeR = new TTree("RecTracks", "Reconstructed tracks."); fTreeKK = new TTree("RecKinks", "Reconstructed kinks."); fTreeV0 = new TTree("RecV0s", "Reconstructed V0s."); + fTreeCC = new TTree("RecCascades","Reconstructed cascades."); fTreeGI = new TTree("TEveMCRecCrossRef", "Objects prepared for cross query."); }