#ifndef CBMLITPROPANA_H #define CBMLITPROPANA_H 1 #include "CbmTask.h" #include "CbmDetectorList.h" #include class CbmLitTrackUpdate; class CbmLitTrackExtrapolator; class CbmLitTrackPropagator; class CbmLitTrackFitter; class CbmLitTrackParam; class CbmLitTrack; class CbmMCPoint; class CbmMCTrack; class TClonesArray; class TH1F; class CbmLitPropAna : public CbmTask { public: CbmLitPropAna( DetectorId detId, Int_t nofStations); virtual ~CbmLitPropAna(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void Finish(); virtual void SetParContainers(); private: TClonesArray* fMCTracks; TClonesArray* fMCPoints; TClonesArray* fHits; TClonesArray* fTracks; TClonesArray* fDigiMatches; CbmLitTrackExtrapolator *fExtrapolator; CbmLitTrackPropagator *fPropagator; CbmLitTrackExtrapolator *fExtrapolatorDet; CbmLitTrackPropagator *fPropagatorDet; CbmLitTrackUpdate *fFilter; CbmLitTrackFitter *fFitter; CbmLitTrackFitter *fSmoother; Int_t fNofLayers; DetectorId fDetId; // TRD or MUCH std::vector fh_srx; std::vector fh_sry; std::vector fh_resx; std::vector fh_resy; std::vector fh_restx; std::vector fh_resty; std::vector fh_resqp; std::vector fh_pullx; std::vector fh_pully; std::vector fh_pulltx; std::vector fh_pullty; std::vector fh_pullqp; std::vector fh_resp; TH1F* fh_pullx_last, *fh_pullx_first; TH1F* fh_pully_last, *fh_pully_first; TH1F* fh_pulltx_last, *fh_pulltx_first; TH1F* fh_pullty_last, *fh_pullty_first; TH1F* fh_pullqp_last, *fh_pullqp_first; TH1F* fh_resx_last, *fh_resx_first; TH1F* fh_resy_last, *fh_resy_first; TH1F* fh_restx_last, *fh_restx_first; TH1F* fh_resty_last, *fh_resty_first; TH1F* fh_resqp_last, *fh_resqp_first; TH1F* fh_resp_last, *fh_resp_first; Int_t fEvents; Int_t fVerbose; Bool_t CreateTrackMuch( Int_t trackId, CbmLitTrack* track, std::vector& points); Bool_t CreateTrackTrd( Int_t trackId, CbmLitTrack* track, std::vector& points); void FillParam( const CbmMCPoint* point, CbmLitTrackParam* par); void CreateHistograms(); void CalcResAndPull( const CbmMCPoint* point, const CbmMCTrack* mcTrack, const CbmLitTrackParam* par, std::vector& res, std::vector& pull, Double_t& resp); ClassDef(CbmLitPropAna,1); }; #endif