-#ifndef __ALITRDCHECKDETECTOR_H__
-#define __ALITRDCHECKDETECTOR_H__
+#ifndef ALITRDCHECKDETECTOR_H
+#define ALITRDCHECKDETECTOR_H
#ifndef ALITRDRECOTASK_H
#include "AliTRDrecoTask.h"
#endif
class TObjArray;
+class TH1;
+class TMap;
+class AliESDHeader;
+class AliTRDgeometry;
+class AliTRDReconstructor;
+class AliTRDrecoParam;
+class AliTRDeventInfo;
class AliTRDcheckDetector : public AliTRDrecoTask{
-// common constants
-enum{
- kNDetectors = 540,
- kNDetectorsSector = 30,
- kNSectors = 18,
- kNLayers = 6,
- kNTimebins = 30
-};
-// The Histogram number
-enum{
- kNTracksEventHist=0,
- kNclustersHist=1,
- kNtrackletsHist=2,
- kNclusterTrackletHist = 3,
- kChi2 = 4,
- kChi2Normalized = 5,
- kNTracksSectorHist = 6,
- kPulseHeight = 7,
- kClusterCharge = 8,
- kChargeDeposit = 9
-};
-public:
- AliTRDcheckDetector();
- virtual ~AliTRDcheckDetector();
+ // The Histogram number
+ typedef enum{
+ kNTracksEventHist=0,
+ kNEventsTriggerTracks=1,
+ kNclustersHist=2,
+ kNtrackletsHist=3,
+ kNTrackletsVsFindable = 4,
+ kNclusterTrackletHist=5,
+ kChi2=6,
+ kChi2Normalized=7,
+ kNTracksSectorHist=8,
+ kPulseHeight=9,
+ kClusterCharge=10,
+ kChargeDeposit=11,
+ kNEventsTrigger=12,
+ kPurity = 12
+ }HistType_t;
+ public:
+ AliTRDcheckDetector();
+ virtual ~AliTRDcheckDetector();
+
+ virtual void ConnectInputData(const Option_t *);
+ virtual void CreateOutputObjects();
+ virtual void Exec(Option_t *);
+ virtual void Terminate(Option_t *);
- virtual void CreateOutputObjects();
- virtual void Exec(Option_t *);
- virtual void Terminate(Option_t *);
+ virtual TObjArray *Histos();
- virtual Bool_t PostProcess();
- virtual void GetRefFigure(Int_t ifig, Int_t &first, Int_t &last, Option_t *opt);
+ // Plotting Functions:
+ TH1 *PlotMeanNClusters(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotNClusters(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotNTracklets(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotTrackletsVsFindable(const AliTRDtrackV1 *track = 0x0);
+ TH1 *PlotTracksSector(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotPulseHeight(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotNormalizedChi2(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotClusterCharge(const AliTRDtrackV1 *t = 0x0);
+ TH1 *PlotChargeDeposit(const AliTRDtrackV1 *t = 0x0);
-private:
- AliTRDcheckDetector(const AliTRDcheckDetector &);
- AliTRDcheckDetector& operator=(const AliTRDcheckDetector &);
- TObjArray *fPHSdetector; //! PHS container for single Detectors
- TObjArray *fPHSsector; //! PHS container for whole sector
- TObjArray *fQCLdetector; //! Cluster Charge Container for single detector
- TObjArray *fQCLsector; //! Cluster Charge Container for whole sector
- TObjArray *fQTdetector; //! Total charge Deposit for single detector
- TObjArray *fQTsector; //! Total charge Deposit for whole sector
+ virtual Bool_t PostProcess();
+ virtual void GetRefFigure(Int_t ifig);
+
+ void SetRecoParam(AliTRDrecoParam *r);
+ private:
+ AliTRDcheckDetector(const AliTRDcheckDetector &);
+ AliTRDcheckDetector& operator=(const AliTRDcheckDetector &);
+ Int_t GetNTracklets(const AliTRDtrackV1 *track);
+ AliTRDeventInfo *fEventInfo; //! ESD Header
+ TMap *fTriggerNames; //! Containing trigger class names
+ AliTRDReconstructor *fReconstructor; // TRD Reconstructor
+ AliTRDgeometry *fGeo; // TRD Geometry object
+
ClassDef(AliTRDcheckDetector, 1)
};
#endif