//* $Id: */ // ------------------------------------------------------------------------- // ----- CbmMvdStripsFindHitsQa header file ----- // ----- Created 01/07/2008 by R. Karabowicz ----- // ------------------------------------------------------------------------- /** CbmMvdStripsFindHitsQa *@author Volker Friese *@since 11.09.06 *@version 1.0 ** ** CBM task class for finding hits in the MVDSTRIPS ** Task level RECO ** Produces objects of type CbmMvdStripsHits out of CbmMvdStripsDigi. **/ #ifndef CBMMVDSTRIPSFINDHITSQA_H #define CBMMVDSTRIPSFINDHITSQA_H 1 #include "FairTask.h" #include "TStopwatch.h" #include #include class TClonesArray; class CbmGeoMvdStripsPar; class CbmMvdStripsDigiPar; class CbmMvdStripsDigiScheme; class CbmMvdStripsSector; class CbmMvdStripsStation; class TCanvas; class TPad; class TH1; class TH1F; class TH2F; class TH3F; class TList; class CbmMvdStripsFindHitsQa : public FairTask { public : /** Default constructor **/ CbmMvdStripsFindHitsQa(); /** Standard constructor **/ CbmMvdStripsFindHitsQa(Int_t iVerbose); /** Constructor with task name **/ CbmMvdStripsFindHitsQa(const char* name, Int_t iVerbose); CbmMvdStripsFindHitsQa(Bool_t visualizeBool, Int_t iVerbose = 1); /** Destructor **/ virtual ~CbmMvdStripsFindHitsQa(); /** Create histograms **/ void CreateHistos(); /** Reset histograms and counters **/ void Reset(); /** Execution **/ virtual void Exec(Option_t* opt); /** Virtual method Finish **/ virtual void Finish(); private: /** Pointers to data arrays **/ CbmGeoMvdStripsPar* fGeoPar; /** Geometry parameters **/ CbmMvdStripsDigiPar* fDigiPar; /** Digitisation parameters **/ CbmMvdStripsDigiScheme* fDigiScheme; /** Digitisation scheme **/ TClonesArray* fMCTracks; // MCtrack TClonesArray* fMvdStripsPoints; // MvdStripsPoints TClonesArray* fMvdStripsHits; // MvdStripsHits TClonesArray* fMatches; // MvdStripsTrackMatch TClonesArray* fMvdStripsDigis; // MvdStripsDigi TClonesArray* fMvdStripsClusters; // MvdStripsCluster TStopwatch fTimer; TH2F* fhHitPointCorrelation [100]; TH2F* fhHitPointCorrelationU[100]; TH2F* fhHitPointCorrelationB[100]; // TH2F* fhHitPointPuls [100]; TH3F* fhEnergyLoss[20]; TH3F* fhIncAngle[20]; TH2F* fhPoints [20]; TH2F* fhRecoPoints[20]; TH1F* fhHitFindingEfficiency; TH2F* fhEffIncAng; TH2F* fhEffMom; TH2F* fhEffPdgSec; TH2F* fhEffPdgPrim; TH2F* fhHitPointPull; TH2F* fhHitPointCorr; /** List of histograms **/ TList* fHistoList; TList* fHistoListPS[20]; Int_t fNStations; Int_t fNEvents; /** Number of events with success **/ /** Total real time used for good events **/ Double_t fTime1; Double_t fTime2; Double_t fTime3; Double_t fTime4; Double_t fTime5; Double_t fTime6; Double_t fTime7; Int_t fNofHits [20][300][3]; // per station, sector, sensor Int_t fNofPoints [20][300][3]; Int_t fNofRecoPoints[20][300][3]; Int_t fNofPointsIncAng [1000]; Int_t fNofRecoPointsIncAng [1000]; Int_t fNofPointsMom [1000]; Int_t fNofRecoPointsMom [1000]; Int_t fNofRecoPdgSec [20000]; Int_t fNofPointsPdgSec [20000]; Int_t fNofRecoPdgPrim [20000]; Int_t fNofPointsPdgPrim [20000]; Int_t fNofPointsPrim; Int_t fNofPointsSec; Int_t fNofRecoPrim; Int_t fNofRecoSec; Int_t fNofPointsMomSum; Int_t fNofRecoPointsMomSum; /** Get parameter containers **/ virtual void SetParContainers(); /** Intialisation **/ virtual InitStatus Init(); /** Reinitialisation **/ virtual InitStatus ReInit(); Bool_t fOnlineAnalysis; TCanvas* recoCanvas; TPad* recoPad[20]; ClassDef(CbmMvdStripsFindHitsQa,1); }; #endif