Fixing a bug in the computation of the errors (Matthieu)
[u/mrichter/AliRoot.git] / PWG3 / muondep / AliCheckMuonDetEltResponse.h
CommitLineData
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
11#include <TH2F.h>
12#include <TObject.h>
13#include <TClonesArray.h>
14
15class AliMUONTrackParam;
16class AliMUONTrack;
17class AliMUONVCluster;
18class AliMUONGeometryTransformer;
19class AliESDEvent;
20
21class AliCheckMuonDetEltResponse : public TObject
22{
23public:
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,
30 TClonesArray* detEltTDHistList,
0246246b 31 TClonesArray* detEltTTHistList,
32 TClonesArray* chamberTDHistList,
33 TClonesArray* chamberTTHistList,
34 Bool_t isCosmic = kFALSE);
128a8042 35
36//Destructor:
37 virtual ~AliCheckMuonDetEltResponse();
38
39
40 void CheckDetEltResponse ();
41 void TrackLoop ();
42 void TrackParamLoop ();
0246246b 43
44 void SetCosmic(Bool_t isCosmic) {fIsCosmicData = isCosmic;};
45 Bool_t IsCosmic() {return fIsCosmicData;};
128a8042 46
47private:
48
0246246b 49 void FillTDHistos (Int_t chamber, Int_t detElt,
50 Double_t posXL, Double_t posYL);
51
52 void FillTTHistos (Int_t chamber, Int_t detElt,
53 Double_t posXL, Double_t posYL);
128a8042 54
0246246b 55 void FindAndFillMissedDetElt (AliMUONTrackParam* extrapTrackParam,
56 Int_t firstMissCh, Int_t lastChamber);
128a8042 57
0246246b 58 void CoordinatesOfMissingCluster(Double_t x1, Double_t y1, Double_t z1,
59 Double_t x2, Double_t y2, Double_t z2,
60 Double_t& x, Double_t& y);
128a8042 61
0246246b 62 Bool_t CoordinatesInDetEltSt12(Int_t DeId, Double_t x, Double_t y);
63 Bool_t CoordinatesInDetEltSt345(Int_t DeId, Double_t x, Double_t y);
128a8042 64
65
66 Int_t fNCh; //!<Number of tracking chamber.
67 Int_t fNSt; //!<Number of tracking station.
68 Int_t fNDE; //!<Number of detection element in the tracking system.
69
70 Int_t FromDetElt2iDet (Int_t chamber, Int_t detElt);
0246246b 71 Int_t FromDetElt2LocalId (Int_t chamber, Int_t detElt);
128a8042 72
73 const AliMUONGeometryTransformer* fTransformer; //!<Geometry transformer
74
75 AliESDEvent* fESD;
76
77 Int_t fNbrClustersCh[10]; //!<Number of clusters in the chamber [fChamberNbr].
78 Int_t fTracksTotalNbr; //!<Total number of tracks in the event.
128a8042 79 Int_t fTrackFilter[10]; //!<To select track for the efficiency calculation.
0246246b 80 Bool_t fIsCosmicData; ///< Check if the data are cosmic rays (used only to cut cosmic shower at hte trigger level if true)
128a8042 81
82 TClonesArray * fTrackParams;
83 AliMUONTrackParam* fTrackParam;
84 AliMUONVCluster * fCluster;
85
86 TClonesArray* fDetEltTDHistList; //!<List of histograms of the tracks detected in the detection elements
87 TClonesArray* fDetEltTTHistList; //!<List of histograms of the tracks which have passed through the detection elements
0246246b 88 TClonesArray* fChamberTDHistList; //!<List of histograms of the tracks detected in the chambers
89 TClonesArray* fChamberTTHistList; //!<List of histograms of the tracks which have passed through the chambers
128a8042 90
91 static const Int_t fNbrOfChamber; ///< The total number of chamber in the tracking system.
92 static const Int_t fNbrOfStation; ///< The total number of station in the tracking system.
93 static const Int_t fNbrOfDetectionElt[10]; ///< The total number of detection element in each chamber.
94 static const Int_t fFirstDetectionElt[10]; ///< The Id of the first detection element of each chamber.
95 static const Int_t fOffset; ///< fFirstDetectionElt[iChamber] = fOffset * (iChamber+1).
96 static const Int_t fOverlapSize; ///< Average size (in cm) of the overlap area between two detection eltement.
97 static const Int_t fYSlatSize; ///< Average size (in cm) of the overlap area between two detection eltement.
98
99 ClassDef(AliCheckMuonDetEltResponse, 0)
100};
101#endif