]>
Commit | Line | Data |
---|---|---|
4a84c20d | 1 | #ifndef ALIANALYSISTASKITSTPCALIGNMENT_H |
2 | #define ALIANALYSISTASKITSTPCALIGNMENT_H | |
3 | ||
4 | /////////////////////////////////////////////////////////////////////////// | |
5 | // Class AliAnalysisTaskITSTPCalignment | |
6 | // runs ITS-TPC alignment with TPC vdrift calibration | |
7 | // | |
8 | // Origin: Mikolaj Krzewicki, mikolaj.krzewicki@cern.ch | |
9 | /////////////////////////////////////////////////////////////////////////// | |
10 | ||
51cfc50d | 11 | #include <AliAnalysisTask.h> |
12 | class TList; | |
4a84c20d | 13 | class TTree; |
51cfc50d | 14 | class AliExternalTrackParam; |
4a84c20d | 15 | class AliESDEvent; |
51cfc50d | 16 | class AliESDfriend; |
17 | class AliMCEvent; | |
4a84c20d | 18 | class AliRelAlignerKalman; |
8b04dae1 | 19 | class AliRelAlignerKalmanArray; |
4a84c20d | 20 | class TH2F; |
21 | ||
22 | class AliAnalysisTaskITSTPCalignment : public AliAnalysisTask | |
23 | { | |
24 | public: | |
25 | AliAnalysisTaskITSTPCalignment(); | |
26 | AliAnalysisTaskITSTPCalignment(const char *name); | |
27 | virtual ~AliAnalysisTaskITSTPCalignment() {} | |
28 | ||
51cfc50d | 29 | void SetupAlignerArray( Int_t t0, Int_t tend, Int_t slotwidth ) |
30 | { fT0=t0; fTend=tend; fSlotWidth=slotwidth; } | |
31 | void SetFillDebugTree(Bool_t m=kTRUE) {fFillDebugTree=m;} | |
32 | void SetDoQA(Bool_t d=kTRUE) {fDoQA=d;} | |
33 | void SetMinPt(Double_t m) {fMinPt=m;} | |
34 | void SetMinNclsITS(Int_t m) {fMinPointsVol1=m;} | |
35 | void SetMinNclsTPC(Int_t m) {fMinPointsVol2=m;} | |
36 | void DoQA(AliExternalTrackParam* paramsITS,AliExternalTrackParam* paramsTPC); | |
37 | void SetRejectOutliers(Bool_t set=kTRUE){fRejectOutliers=set;} | |
38 | void SetRejectOutliersSigma2Median(Bool_t set=kTRUE){fRejectOutliersSigma2Median=set;} | |
39 | void SetOutRejSigma(Double_t d){fOutRejSigma=d;} | |
40 | void SetOutRejSigma2Median(Double_t d){fOutRejSigma2Median=d;} | |
41 | void SetOutRejSigmaOnMerge(Double_t d){fOutRejSigmaOnMerge=d;} | |
42 | void SetUseITSoutGlobalTrack(Bool_t b){fUseITSoutGlobalTrack=b;} | |
43 | void SetUseITSoutITSSAtrack(Bool_t b){fUseITSoutITSSAtrack=b;} | |
44 | ||
45 | Int_t FindMatchingTracks(TObjArray& arrITS, TObjArray& arrTPC, AliESDEvent* pESD); | |
46 | void AnalyzeESDevent(); | |
4a84c20d | 47 | |
48 | virtual void ConnectInputData(Option_t *); | |
49 | virtual void CreateOutputObjects(); | |
50 | virtual void Exec(Option_t *option); | |
51 | virtual void Terminate(Option_t *); | |
51cfc50d | 52 | virtual Bool_t Notify(); |
4a84c20d | 53 | |
54 | private: | |
51cfc50d | 55 | AliESDEvent* fESD; //! ESD object |
56 | AliESDfriend* fESDfriend; //! ESD friend | |
57 | AliMCEvent* fMC; //! mc event | |
58 | AliRelAlignerKalmanArray* fArrayITSglobal; //! array of aligners with ITS global | |
59 | AliRelAlignerKalmanArray* fArrayITSsa; //! array of aligners ITS standalone | |
60 | TTree* fDebugTree; //! tree | |
61 | AliRelAlignerKalman* fAligner; //! aligner | |
62 | TList* fList; //! list with QA histograms | |
63 | ||
64 | Bool_t fFillDebugTree; // do we write the debug tree? | |
65 | Bool_t fDoQA; // do QA? | |
66 | Int_t fT0; // t0 | |
67 | Int_t fTend; // tend | |
68 | Int_t fSlotWidth; // slotwidth | |
69 | Double_t fMinPt; // min pt for tracks | |
70 | Int_t fMinPointsVol1; // min clusters its | |
71 | Int_t fMinPointsVol2; // min clusters tpc | |
72 | Bool_t fRejectOutliers; // reject outliers? | |
73 | Double_t fOutRejSigma; // how many outliers | |
74 | Bool_t fRejectOutliersSigma2Median; // | |
75 | Double_t fOutRejSigma2Median; // | |
76 | Double_t fOutRejSigmaOnMerge; // | |
77 | Bool_t fUseITSoutGlobalTrack; // | |
78 | Bool_t fUseITSoutITSSAtrack; // | |
4a84c20d | 79 | |
80 | AliAnalysisTaskITSTPCalignment(const AliAnalysisTaskITSTPCalignment&); // not implemented | |
81 | AliAnalysisTaskITSTPCalignment& operator=(const AliAnalysisTaskITSTPCalignment&); // not implemented | |
82 | ||
51cfc50d | 83 | ClassDef(AliAnalysisTaskITSTPCalignment, 2); |
4a84c20d | 84 | }; |
85 | ||
86 | #endif | |
51cfc50d | 87 |