]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muondep/AliAnalysisTaskMuonTrackingEff.h
Update of DAs to use Monitoring Bit,
[u/mrichter/AliRoot.git] / PWG3 / muondep / AliAnalysisTaskMuonTrackingEff.h
CommitLineData
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 15class AliMUONGeometryTransformer;
e1ec553d 16class AliMUONTrackParam;
79720f5b 17class TList;
18class TString;
e1ec553d 19class TObjArray;
128a8042 20
e1ec553d 21class 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
74private:
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