]>
Commit | Line | Data |
---|---|---|
128a8042 | 1 | #ifndef ALICHECKMUONDETELTRESPONSE_H |
2 | #define ALICHECKMUONDETELTRESPONSE_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /// \ingroup base | |
7 | /// \class AliCheckMuonDetEltResponse | |
8 | /// \brief tracking chamber efficiency from data | |
9 | //Author: Nicolas LE BRIS - SUBATECH Nantes | |
10 | ||
27f15548 | 11 | #include <TObject.h> |
128a8042 | 12 | |
27f15548 | 13 | class AliESDEvent; |
128a8042 | 14 | class AliMUONTrackParam; |
15 | class AliMUONTrack; | |
16 | class AliMUONVCluster; | |
17 | class AliMUONGeometryTransformer; | |
79720f5b | 18 | class TList; |
27f15548 | 19 | class TClonesArray; |
128a8042 | 20 | |
21 | class AliCheckMuonDetEltResponse : public TObject | |
22 | { | |
23 | public: | |
128a8042 | 24 | AliCheckMuonDetEltResponse(); |
665701ae | 25 | AliCheckMuonDetEltResponse(const AliCheckMuonDetEltResponse& rhs); |
26 | AliCheckMuonDetEltResponse& operator=(const AliCheckMuonDetEltResponse& rhs); | |
128a8042 | 27 | //Constructor: |
28 | AliCheckMuonDetEltResponse(const AliMUONGeometryTransformer* transformer, | |
29 | AliESDEvent* esd, | |
79720f5b | 30 | TList* detEltTDHistList, |
31 | TList* detEltTTHistList, | |
32 | TList* chamberTDHistList, | |
33 | TList* chamberTTHistList); | |
128a8042 | 34 | |
35 | //Destructor: | |
36 | virtual ~AliCheckMuonDetEltResponse(); | |
37 | ||
38 | ||
39 | void CheckDetEltResponse (); | |
40 | void TrackLoop (); | |
41 | void TrackParamLoop (); | |
0246246b | 42 | |
27f15548 | 43 | Int_t GetNbrUsableTracks() const {return fNbrUsableTracks;}; |
fc7a3fd3 | 44 | void SetNbrUsableTracks(Int_t nUsable){fNbrUsableTracks = nUsable;}; |
128a8042 | 45 | |
46 | private: | |
47 | ||
0246246b | 48 | void FillTDHistos (Int_t chamber, Int_t detElt, |
49 | Double_t posXL, Double_t posYL); | |
50 | ||
51 | void FillTTHistos (Int_t chamber, Int_t detElt, | |
52 | Double_t posXL, Double_t posYL); | |
128a8042 | 53 | |
0246246b | 54 | void FindAndFillMissedDetElt (AliMUONTrackParam* extrapTrackParam, |
55 | Int_t firstMissCh, Int_t lastChamber); | |
128a8042 | 56 | |
0246246b | 57 | void CoordinatesOfMissingCluster(Double_t x1, Double_t y1, Double_t z1, |
58 | Double_t x2, Double_t y2, Double_t z2, | |
27f15548 | 59 | Double_t& x, Double_t& y) const; |
128a8042 | 60 | |
0246246b | 61 | Bool_t CoordinatesInDetEltSt12(Int_t DeId, Double_t x, Double_t y); |
62 | Bool_t CoordinatesInDetEltSt345(Int_t DeId, Double_t x, Double_t y); | |
128a8042 | 63 | |
27f15548 | 64 | Int_t FromDetElt2iDet (Int_t chamber, Int_t detElt) const; |
65 | Int_t FromDetElt2LocalId (Int_t chamber, Int_t detElt) const; | |
128a8042 | 66 | |
128a8042 | 67 | |
068b24ba | 68 | const AliMUONGeometryTransformer* fkTransformer; //!<Geometry transformer |
128a8042 | 69 | |
27f15548 | 70 | AliESDEvent* fESD; //<!Current event |
128a8042 | 71 | |
72 | Int_t fNbrClustersCh[10]; //!<Number of clusters in the chamber [fChamberNbr]. | |
73 | Int_t fTracksTotalNbr; //!<Total number of tracks in the event. | |
128a8042 | 74 | Int_t fTrackFilter[10]; //!<To select track for the efficiency calculation. |
fc7a3fd3 | 75 | Int_t fNbrUsableTracks; //!<Number of usable tracks (matches trigger and contains traker data, plus a trigger condition for cosmic) |
128a8042 | 76 | |
27f15548 | 77 | TClonesArray * fTrackParams; //!<Array of track param |
78 | AliMUONTrackParam* fTrackParam; //!<Current track param | |
79 | AliMUONVCluster * fCluster; //!<Current cluster | |
128a8042 | 80 | |
79720f5b | 81 | TList* fDetEltTDHistList; //!<List of histograms of the tracks detected in the detection elements |
82 | TList* fDetEltTTHistList; //!<List of histograms of the tracks which have passed through the detection elements | |
83 | TList* fChamberTDHistList; //!<List of histograms of the tracks detected in the chambers | |
84 | TList* fChamberTTHistList; //!<List of histograms of the tracks which have passed through the chambers | |
128a8042 | 85 | |
27f15548 | 86 | static const Int_t fgkNCh; ///< The total number of chamber in the tracking system. |
87 | static const Int_t fgkNSt; ///< The total number of station in the tracking system. | |
88 | static const Int_t fgkNDE; ///< Number of detection element in the tracking system. | |
068b24ba | 89 | static const Int_t fgkNbrOfDetectionElt[10]; ///< The total number of detection element in each chamber. |
90 | static const Int_t fgkFirstDetectionElt[10]; ///< The Id of the first detection element of each chamber. | |
27f15548 | 91 | static const Int_t fgkOffset; ///< fFirstDetectionElt[iChamber] = fOffset * (iChamber+1). |
128a8042 | 92 | |
79720f5b | 93 | ClassDef(AliCheckMuonDetEltResponse, 0); |
128a8042 | 94 | }; |
95 | #endif |