]>
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 | ||
d6d927ac | 11 | #include <AliAnalysisTaskSE.h> |
51cfc50d | 12 | class TList; |
4a84c20d | 13 | class TTree; |
14 | class AliESDEvent; | |
51cfc50d | 15 | class AliESDfriend; |
16 | class AliMCEvent; | |
4a84c20d | 17 | class AliRelAlignerKalman; |
8b04dae1 | 18 | class AliRelAlignerKalmanArray; |
d6d927ac | 19 | class AliExternalTrackParam; |
4a84c20d | 20 | class TH2F; |
21 | ||
d6d927ac | 22 | class AliAnalysisTaskITSTPCalignment : public AliAnalysisTaskSE |
4a84c20d | 23 | { |
24 | public: | |
d6d927ac | 25 | |
26 | enum { kNoESD=0, | |
27 | kNoESDfriend=1, | |
28 | kNoFriendTrack=2, | |
29 | kNoITSoutParams=3, | |
30 | kESDfriend=4, | |
31 | kFriendsSkipBit=5, | |
32 | kFriendTrack=6, | |
33 | kITSoutParams=7 | |
34 | }; | |
35 | ||
4a84c20d | 36 | AliAnalysisTaskITSTPCalignment(); |
37 | AliAnalysisTaskITSTPCalignment(const char *name); | |
38 | virtual ~AliAnalysisTaskITSTPCalignment() {} | |
39 | ||
51cfc50d | 40 | void SetupAlignerArray( Int_t t0, Int_t tend, Int_t slotwidth ) |
41 | { fT0=t0; fTend=tend; fSlotWidth=slotwidth; } | |
42 | void SetFillDebugTree(Bool_t m=kTRUE) {fFillDebugTree=m;} | |
43 | void SetDoQA(Bool_t d=kTRUE) {fDoQA=d;} | |
44 | void SetMinPt(Double_t m) {fMinPt=m;} | |
45 | void SetMinNclsITS(Int_t m) {fMinPointsVol1=m;} | |
46 | void SetMinNclsTPC(Int_t m) {fMinPointsVol2=m;} | |
d6d927ac | 47 | void DoQA(AliExternalTrackParam* paramsITS, |
48 | AliExternalTrackParam* paramsTPC); | |
51cfc50d | 49 | void SetRejectOutliers(Bool_t set=kTRUE){fRejectOutliers=set;} |
50 | void SetRejectOutliersSigma2Median(Bool_t set=kTRUE){fRejectOutliersSigma2Median=set;} | |
51 | void SetOutRejSigma(Double_t d){fOutRejSigma=d;} | |
52 | void SetOutRejSigma2Median(Double_t d){fOutRejSigma2Median=d;} | |
53 | void SetOutRejSigmaOnMerge(Double_t d){fOutRejSigmaOnMerge=d;} | |
54 | void SetUseITSoutGlobalTrack(Bool_t b){fUseITSoutGlobalTrack=b;} | |
55 | void SetUseITSoutITSSAtrack(Bool_t b){fUseITSoutITSSAtrack=b;} | |
56 | ||
57 | Int_t FindMatchingTracks(TObjArray& arrITS, TObjArray& arrTPC, AliESDEvent* pESD); | |
d6d927ac | 58 | void AnalyzeESDevent(AliESDEvent* event); |
4a84c20d | 59 | |
d6d927ac | 60 | //AnalysisTaskSE interface methods |
61 | virtual void UserCreateOutputObjects(); | |
62 | virtual void UserExec(Option_t *option); | |
63 | virtual Bool_t UserNotify(); | |
64 | void Terminate(Option_t *); | |
4a84c20d | 65 | |
66 | private: | |
51cfc50d | 67 | AliRelAlignerKalmanArray* fArrayITSglobal; //! array of aligners with ITS global |
68 | AliRelAlignerKalmanArray* fArrayITSsa; //! array of aligners ITS standalone | |
69 | TTree* fDebugTree; //! tree | |
70 | AliRelAlignerKalman* fAligner; //! aligner | |
71 | TList* fList; //! list with QA histograms | |
72 | ||
73 | Bool_t fFillDebugTree; // do we write the debug tree? | |
74 | Bool_t fDoQA; // do QA? | |
75 | Int_t fT0; // t0 | |
76 | Int_t fTend; // tend | |
77 | Int_t fSlotWidth; // slotwidth | |
78 | Double_t fMinPt; // min pt for tracks | |
79 | Int_t fMinPointsVol1; // min clusters its | |
80 | Int_t fMinPointsVol2; // min clusters tpc | |
81 | Bool_t fRejectOutliers; // reject outliers? | |
82 | Double_t fOutRejSigma; // how many outliers | |
83 | Bool_t fRejectOutliersSigma2Median; // | |
84 | Double_t fOutRejSigma2Median; // | |
85 | Double_t fOutRejSigmaOnMerge; // | |
86 | Bool_t fUseITSoutGlobalTrack; // | |
87 | Bool_t fUseITSoutITSSAtrack; // | |
4a84c20d | 88 | |
89 | AliAnalysisTaskITSTPCalignment(const AliAnalysisTaskITSTPCalignment&); // not implemented | |
90 | AliAnalysisTaskITSTPCalignment& operator=(const AliAnalysisTaskITSTPCalignment&); // not implemented | |
91 | ||
d6d927ac | 92 | ClassDef(AliAnalysisTaskITSTPCalignment, 3); |
4a84c20d | 93 | }; |
94 | ||
95 | #endif |