]>
Commit | Line | Data |
---|---|---|
128a8042 | 1 | #ifndef ALIANALYSISTASKMUONTRACKINGEFF_H |
2 | #define ALIANALYSISTASKMUONTRACKINGEFF_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
128a8042 | 8 | /// \ingroup base |
9 | /// \class AliAnalysisTaskMuonTrackingEff | |
79720f5b | 10 | /// \brief tracking chamber efficiency from ESD data |
128a8042 | 11 | //Author: Nicolas LE BRIS - SUBATECH Nantes |
12 | ||
e1ec553d | 13 | #include "AliAnalysisTaskSE.h" |
6db6876c | 14 | |
27f15548 | 15 | class AliMUONGeometryTransformer; |
e1ec553d | 16 | class AliMUONTrackParam; |
79720f5b | 17 | class TList; |
18 | class TString; | |
e1ec553d | 19 | class TObjArray; |
128a8042 | 20 | |
e1ec553d | 21 | class AliAnalysisTaskMuonTrackingEff : public AliAnalysisTaskSE |
128a8042 | 22 | { |
23 | public: | |
24 | AliAnalysisTaskMuonTrackingEff(); | |
e1ec553d | 25 | AliAnalysisTaskMuonTrackingEff(TString name); |
128a8042 | 26 | virtual ~AliAnalysisTaskMuonTrackingEff(); |
27 | ||
e1ec553d | 28 | /// Set location of the default OCDB storage (if not set use "raw://") |
29 | void SetDefaultStorage(const char* ocdbPath) { fOCDBpath = ocdbPath; } | |
30 | ||
31 | /// set the flag to use only tracks matched with trigger or not | |
32 | void MatchTrigger(Bool_t flag = kTRUE) { fMatchTrig = flag; } | |
33 | ||
34 | /// set the flag to use only tracks passing the acceptance cuts (Rabs, eta) | |
35 | void ApplyAccCut(Bool_t flag = kTRUE) { fApplyAccCut = flag; } | |
36 | ||
128a8042 | 37 | // Implementation of interface methods |
e1ec553d | 38 | virtual void UserCreateOutputObjects(); |
39 | virtual void UserExec(Option_t *); | |
40 | virtual void NotifyRun(); | |
41 | virtual void Terminate(Option_t *); | |
42 | ||
43 | ||
79720f5b | 44 | private: |
e1ec553d | 45 | |
46 | /// Not implemented | |
47 | AliAnalysisTaskMuonTrackingEff(const AliAnalysisTaskMuonTrackingEff& rhs); | |
48 | /// Not implemented | |
49 | AliAnalysisTaskMuonTrackingEff& operator = (const AliAnalysisTaskMuonTrackingEff& rhs); | |
50 | ||
51 | void TrackParamLoop(const TObjArray* trackParams); | |
52 | ||
53 | void FindAndFillMissedDetElt (const AliMUONTrackParam* trackParam, | |
54 | const Bool_t* trackFilter, | |
55 | Int_t firstMissCh, Int_t lastChamber); | |
56 | ||
57 | void CoordinatesOfMissingCluster(Double_t x1, Double_t y1, Double_t z1, | |
58 | Double_t x2, Double_t y2, Double_t z2, | |
59 | Double_t& x, Double_t& y) const; | |
60 | ||
61 | Bool_t CoordinatesInDetElt(Int_t DeId, Double_t x, Double_t y) const; | |
62 | ||
63 | void FillTDHistos (Int_t chamber, Int_t detElt, Double_t posXL, Double_t posYL); | |
64 | ||
65 | void FillTTHistos (Int_t chamber, Int_t detElt, Double_t posXL, Double_t posYL); | |
145eb7fe | 66 | |
67 | void FillSDHistos (Int_t chamber, Int_t detElt, Double_t posXL, Double_t posYL); | |
e1ec553d | 68 | |
69 | Int_t FromDetElt2iDet (Int_t chamber, Int_t detElt) const; | |
70 | Int_t FromDetElt2LocalId (Int_t chamber, Int_t detElt) const; | |
71 | Int_t FromLocalId2DetElt(Int_t chamber, Int_t iDet) const; | |
72 | ||
73 | ||
74 | private: | |
75 | ||
76 | static const Int_t fgkNbrOfDetectionElt[10]; ///< The total number of detection element in each chamber. | |
77 | static const Int_t fgkOffset; ///< fFirstDetectionElt[iChamber] = fOffset * (iChamber+1). | |
78 | ||
79 | Bool_t fOCDBLoaded; //!< Determine if the OCDB and =geometry have been loaded | |
80 | TString fOCDBpath; ///< OCDB path | |
81 | Bool_t fMatchTrig; ///< use only tracks matched with trigger | |
82 | Bool_t fApplyAccCut; ///< use only tracks passing the acceptance cuts (Rabs, eta) | |
83 | Float_t fCurrentCentrality; //!< centrality of the current event | |
0246246b | 84 | |
e1ec553d | 85 | AliMUONGeometryTransformer *fTransformer; //!< Transformer object |
6db6876c | 86 | |
e1ec553d | 87 | TList* fDetEltTDHistList; //!< List of histograms of the tracks detected in the detection elements. |
88 | TList* fDetEltTTHistList; //!< List of histograms of the tracks which have passed through the detection elements. | |
145eb7fe | 89 | TList* fDetEltSDHistList; //!< List of histograms of the tracks only detected by one chamber of the station at the detection element level. |
e1ec553d | 90 | TList* fChamberTDHistList; //!< List of histograms of the tracks detected in the chambers. |
91 | TList* fChamberTTHistList; //!< List of histograms of the tracks which have passed through the chambers. | |
145eb7fe | 92 | TList* fChamberSDHistList; //!< List of histograms of the tracks only detected by one chamber of the station. |
93 | TList* fExtraHistList; //!< List of extra histograms. | |
128a8042 | 94 | |
e1ec553d | 95 | |
145eb7fe | 96 | ClassDef(AliAnalysisTaskMuonTrackingEff, 3) |
128a8042 | 97 | }; |
98 | ||
99 | #endif | |
e1ec553d | 100 |