New library PWG3muondep for classes which depend on MUON module (Gines) New classes...
[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:
24
25//Default constructor:
26 AliCheckMuonDetEltResponse();
27
28//Constructor:
29 AliCheckMuonDetEltResponse(const AliMUONGeometryTransformer* transformer,
30 AliESDEvent* esd,
31 TClonesArray* detEltTDHistList,
32 TClonesArray* detEltTTHistList);
33
34//Destructor:
35 virtual ~AliCheckMuonDetEltResponse();
36
37
38 void CheckDetEltResponse ();
39 void TrackLoop ();
40 void TrackParamLoop ();
41
42private:
43
44 void FillDetEltTDHisto (Int_t chamber, Int_t detElt,
45 Double_t posXL, Double_t posYL);
46
47 void FillDetEltTTHisto (Int_t chamber, Int_t detElt,
48 Double_t posXG, Double_t posYG, Double_t posZG,
49 Double_t posXL, Double_t posYL, Double_t posZL);
50
51 void CalculMissClusterParam (AliMUONTrackParam* extrapTrackParam,
52 Int_t firstMissCh, Int_t nbrOfMissCh);
53
54 void GetDetEltFromPosition (Int_t chamber,
55 Double_t posX, Double_t posY, Double_t posZ);
56
57
58 Int_t fNCh; //!<Number of tracking chamber.
59 Int_t fNSt; //!<Number of tracking station.
60 Int_t fNDE; //!<Number of detection element in the tracking system.
61
62 Int_t FromDetElt2iDet (Int_t chamber, Int_t detElt);
63
64 const AliMUONGeometryTransformer* fTransformer; //!<Geometry transformer
65
66 AliESDEvent* fESD;
67
68 Int_t fNbrClustersCh[10]; //!<Number of clusters in the chamber [fChamberNbr].
69 Int_t fTracksTotalNbr; //!<Total number of tracks in the event.
70 Int_t fGetDetElt[2]; //!<Detection elemtents obtained from position(X,Y,Z). fGetDetElt[1] is for the case where there is an overlap.
71 Int_t fTrackFilter[10]; //!<To select track for the efficiency calculation.
72
73 TClonesArray * fTrackParams;
74 AliMUONTrackParam* fTrackParam;
75 AliMUONVCluster * fCluster;
76
77 TClonesArray* fDetEltTDHistList; //!<List of histograms of the tracks detected in the detection elements
78 TClonesArray* fDetEltTTHistList; //!<List of histograms of the tracks which have passed through the detection elements
79
80 static const Int_t fNbrOfChamber; ///< The total number of chamber in the tracking system.
81 static const Int_t fNbrOfStation; ///< The total number of station in the tracking system.
82 static const Int_t fNbrOfDetectionElt[10]; ///< The total number of detection element in each chamber.
83 static const Int_t fFirstDetectionElt[10]; ///< The Id of the first detection element of each chamber.
84 static const Int_t fOffset; ///< fFirstDetectionElt[iChamber] = fOffset * (iChamber+1).
85 static const Int_t fOverlapSize; ///< Average size (in cm) of the overlap area between two detection eltement.
86 static const Int_t fYSlatSize; ///< Average size (in cm) of the overlap area between two detection eltement.
87
88 ClassDef(AliCheckMuonDetEltResponse, 0)
89};
90#endif