// ------------------------------------------------------------------ // ----- CbmTofTests ----- // ----- Created 29/08/2013 by P.-A. Loizeau ----- // ------------------------------------------------------------------ #ifndef _CBMTOFANATESTBEAM_H_ #define _CBMTOFANATESTBEAM_H_ 1 class CbmTofGeoHandler; class CbmTofCell; // Geometry class CbmTofGeoHandler; class CbmTofDetectorId; class CbmTofCell; class CbmTofDigiPar; class CbmTofDigiBdfPar; class TMbsMappingTofPar; #include "FairTask.h" class TClonesArray; class TH1; class TH2; class TString; #include "TTimeStamp.h" class CbmTofAnaTestbeam : public FairTask { public: CbmTofAnaTestbeam(); CbmTofAnaTestbeam(const char* name, Int_t verbose = 1); virtual ~CbmTofAnaTestbeam(); virtual InitStatus Init(); virtual void Exec(Option_t* option); virtual void Finish(); /** ** @brief Inherited from FairTask. **/ virtual void SetParContainers(); Bool_t RegisterInputs(); inline void SetDXMean (Double_t val) { fdDXMean = val;} inline void SetDYMean (Double_t val) { fdDYMean = val;} inline void SetDTMean (Double_t val) { fdDTMean = val;} inline void SetDXWidth (Double_t val) { fdDXWidth = val;} inline void SetDYWidth (Double_t val) { fdDYWidth = val;} inline void SetDTWidth (Double_t val) { fdDTWidth = val;} private: Bool_t CreateHistos(); Bool_t FillHistos(); Bool_t WriteHistos(); Bool_t DeleteHistos(); /** ** @brief Initialize other parameters not included in parameter classes. **/ Bool_t InitParameters(); /** ** @brief Load the geometry: for now just resizing the Digis temporary vectors **/ Bool_t LoadGeometry(); CbmTofAnaTestbeam(const CbmTofAnaTestbeam&); CbmTofAnaTestbeam operator=(const CbmTofAnaTestbeam&); Int_t fEvents; // Number of processed events // Geometry infos CbmTofGeoHandler * fGeoHandler; CbmTofDetectorId * fTofId; CbmTofCell * fChannelInfo; TMbsMappingTofPar *fMbsMappingPar; Int_t iNbSmTot; std::vector< Int_t > fvTypeSmOffs; // Offset in SM index for first SM of each SM type Int_t iNbRpcTot; std::vector< std::vector< Int_t > > fvSmRpcOffs; // Offset in RPC index for first RPC of each SM Int_t iNbChTot; std::vector< std::vector< std::vector< Int_t > > > fvRpcChOffs; // Offset in channel index for first channel of each RPC // Parameters CbmTofDigiPar * fDigiPar; CbmTofDigiBdfPar * fDigiBdfPar; TClonesArray * fTofDigisColl; // TOF Digis TClonesArray * fTofHitsColl; // TOF hits TClonesArray * fTofDigiMatchColl; // TOF DigiMatches Double_t fdDXMean; Double_t fdDYMean; Double_t fdDTMean; Double_t fdDXWidth; Double_t fdDYWidth; Double_t fdDTWidth; // Histograms TH2 *fhYY2; TH1 *fhNMatch04; TH2 *fhXX04; TH2 *fhYY04; TH2 *fhTT04; TH1 *fhChi04; TH2 *fhDXDY04; TH2 *fhDXDT04; TH2 *fhDYDT04; TH1 *fhNMatch04sel; TH1 *fhChi04best; TH1 *fhDigiMul0best; TH1 *fhDigiMul4best; TH2 *fhDXDY04best; TH2 *fhDXDT04best; TH2 *fhDYDT04best; TH2 *fhChiDT04best; TH2 *fhDT24DT04best; TH2 *fhDTD4DT04best; TH2 *fhX0DT04best; TH2 *fhY0DT04best; TH1 *fhNMatch24; TH1 *fhNMatch24sel; TH1 *fhDT24sel; TH1 *fhChi24; TH2 *fhXY24; TH2 *fhDXDY24; TH2 *fhDXDT24; TH2 *fhDYDT24; TH1 *fhDTD4sel; TH2 *fhXX02[2]; TH2 *fhYY02[2]; std::vector< TH2* > fhXYPos; //[nbDet] // Test class performance // Rates and data rates // Performances check // Control TTimeStamp fStart; TTimeStamp fStop; ClassDef(CbmTofAnaTestbeam, 1); }; #endif