// ------------------------------------------------------------------------- // ----- CbmRichAnalysisRingFinder header file ----- // ----- Created 15/03/05 ----- // ------------------------------------------------------------------------- #ifndef CBMRICHANALYSISRINGFINDER_H #define CBMRICHANALYSISRINGFINDER_H #include "CbmTask.h" #include "TClonesArray.h" #include "TArrayI.h" class TH1F; class TH2F; class CbmRichAnalysisRingFinder : public CbmTask { public: CbmRichAnalysisRingFinder(); CbmRichAnalysisRingFinder(const char *name, const char *title="Ring finder analysis"); virtual ~CbmRichAnalysisRingFinder(); InitStatus Init(); void Exec(Option_t* option); void Finish(); private: void MakeLightSpots(TClonesArray& spots); void DecayRings(Int_t pdgCode, TArrayI& rings, TClonesArray* ringpool, TClonesArray* trackpool); private: TClonesArray* fListStack; // List of particles in a stack TClonesArray* fListRICHpoints; // RICH points TClonesArray* fListRICHhits; // RICH hits TClonesArray* fListRICHrings; // List of reconstructed rings TH1F* fhRingPabs; // Momentum of track that give any reconstructed ring TH1F* fhElectronRingPabs; // Momentum of track that give reconstructed electron ring TH1F* fhPionRingPabs; // Momentum of track that give reconstructed pion ring TH1F* fhMuonRingPabs; // Momentum of track that give reconstructed muon ring TH1F* fhSpotPabs; // Momentum of track that give this LightSpot TH1F* fhElectronSpotPabs; // Momentum of track that give electron spot TH1F* fhPionSpotPabs; // Momentum of track that give pion spot TH1F* fhMuonSpotPabs; // Momentum of track that give muon spot TH1F* fhEff; // Ring reconstruction efficiency TH1F* fhDist; // Distance between reconstructed ring and nearest LighSpot TH1F* fhNonRecDist; // Distance between centers of non-reconstructed rings TH1F* fhRecDist; // Distance between centers of reconstructed rings TH1F* fhSpotDist; // Distance between the centers of MC rings TH1F* fhRefElectronRingPabs; // momentum assigned to rec. e+- ring from target region TH1F* fhRefElectronSpotPabs; // momentum assigned to e+- MC ring from target region TH1F* fhRefPionRingPabs; // momentum assigned to rec. pion ring from target region TH1F* fhRefPionSpotPabs; // momentum assigned to pi+- MC ring from target region TH2F* fhElectronRingPabsPt; // PvsPt of the track that give reconstructed electron ring TH2F* fhElectronSpotPabsPt; // PvsPt of the track that give MC electron ring TH1F* fhNhitsElSpot; // Number of hits in electron MC rings TH1F* fhNhitsElRing; // Number of hits in reconstructed electron rings TH1F* fhNhitsPiSpot; // Number of hits in pion MC rings TH1F* fhNhitsPiRing; // Number of hits in reconstructed pion rings TH1F* fhRadElSpot; // Radius of electron MC rings TH1F* fhRadElRing; // Radius of reconstructed electron rings TH1F* fhRadPiSpot; // Radius of pion MC rings TH1F* fhRadPiRing; // Radius of reconstructed pion rings TH1F* fhElDeltaRad; // R_rec - R_MC for electrons TH1F* fhPiDeltaRad; // R_rec - R_MC for pions TH2F* fhGhostXY; // XY of ghost rings TH2F* fhRingXY; // XY of found rings ClassDef(CbmRichAnalysisRingFinder,1) }; #endif