#ifndef ALIANALYSISTASKITSTPCALIGNMENT_H
#define ALIANALYSISTASKITSTPCALIGNMENT_H
#include <AliAnalysisTaskSE.h>
class TList;
class TTree;
class AliESDEvent;
class AliESDfriend;
class AliMCEvent;
class AliRelAlignerKalman;
class AliRelAlignerKalmanArray;
class AliExternalTrackParam;
class TH2F;
class AliAnalysisTaskITSTPCalignment : public AliAnalysisTaskSE
{
public:
enum { kNoESD=0,
kNoESDfriend=1,
kNoFriendTrack=2,
kNoITSoutParams=3,
kESDfriend=4,
kFriendsSkipBit=5,
kFriendTrack=6,
kITSoutParams=7
};
AliAnalysisTaskITSTPCalignment();
AliAnalysisTaskITSTPCalignment(const char *name);
virtual ~AliAnalysisTaskITSTPCalignment() {}
void SetupAlignerArray( Int_t t0, Int_t tend, Int_t slotwidth )
{ fT0=t0; fTend=tend; fSlotWidth=slotwidth; }
void SetFillDebugTree(Bool_t m=kTRUE) {fFillDebugTree=m;}
void SetDoQA(Bool_t d=kTRUE) {fDoQA=d;}
void SetMinPt(Double_t m) {fMinPt=m;}
void SetMinNclsITS(Int_t m) {fMinPointsVol1=m;}
void SetMinNclsTPC(Int_t m) {fMinPointsVol2=m;}
void DoQA(AliExternalTrackParam* paramsITS,
AliExternalTrackParam* paramsTPC);
void SetRejectOutliers(Bool_t set=kTRUE){fRejectOutliers=set;}
void SetRejectOutliersSigma2Median(Bool_t set=kTRUE){fRejectOutliersSigma2Median=set;}
void SetOutRejSigma(Double_t d){fOutRejSigma=d;}
void SetOutRejSigma2Median(Double_t d){fOutRejSigma2Median=d;}
void SetOutRejSigmaOnMerge(Double_t d){fOutRejSigmaOnMerge=d;}
void SetUseITSoutGlobalTrack(Bool_t b){fUseITSoutGlobalTrack=b;}
void SetUseITSoutITSSAtrack(Bool_t b){fUseITSoutITSSAtrack=b;}
Int_t FindMatchingTracks(TObjArray& arrITS, TObjArray& arrTPC, AliESDEvent* pESD);
void AnalyzeESDevent(AliESDEvent* event);
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual Bool_t UserNotify();
void Terminate(Option_t *);
private:
AliRelAlignerKalmanArray* fArrayITSglobal;
AliRelAlignerKalmanArray* fArrayITSsa;
TTree* fDebugTree;
AliRelAlignerKalman* fAligner;
TList* fList;
Bool_t fFillDebugTree;
Bool_t fDoQA;
Int_t fT0;
Int_t fTend;
Int_t fSlotWidth;
Double_t fMinPt;
Int_t fMinPointsVol1;
Int_t fMinPointsVol2;
Bool_t fRejectOutliers;
Double_t fOutRejSigma;
Bool_t fRejectOutliersSigma2Median;
Double_t fOutRejSigma2Median;
Double_t fOutRejSigmaOnMerge;
Bool_t fUseITSoutGlobalTrack;
Bool_t fUseITSoutITSSAtrack;
AliAnalysisTaskITSTPCalignment(const AliAnalysisTaskITSTPCalignment&);
AliAnalysisTaskITSTPCalignment& operator=(const AliAnalysisTaskITSTPCalignment&);
ClassDef(AliAnalysisTaskITSTPCalignment, 3);
};
#endif
AliAnalysisTaskITSTPCalignment.h:1 AliAnalysisTaskITSTPCalignment.h:2 AliAnalysisTaskITSTPCalignment.h:3 AliAnalysisTaskITSTPCalignment.h:4 AliAnalysisTaskITSTPCalignment.h:5 AliAnalysisTaskITSTPCalignment.h:6 AliAnalysisTaskITSTPCalignment.h:7 AliAnalysisTaskITSTPCalignment.h:8 AliAnalysisTaskITSTPCalignment.h:9 AliAnalysisTaskITSTPCalignment.h:10 AliAnalysisTaskITSTPCalignment.h:11 AliAnalysisTaskITSTPCalignment.h:12 AliAnalysisTaskITSTPCalignment.h:13 AliAnalysisTaskITSTPCalignment.h:14 AliAnalysisTaskITSTPCalignment.h:15 AliAnalysisTaskITSTPCalignment.h:16 AliAnalysisTaskITSTPCalignment.h:17 AliAnalysisTaskITSTPCalignment.h:18 AliAnalysisTaskITSTPCalignment.h:19 AliAnalysisTaskITSTPCalignment.h:20 AliAnalysisTaskITSTPCalignment.h:21 AliAnalysisTaskITSTPCalignment.h:22 AliAnalysisTaskITSTPCalignment.h:23 AliAnalysisTaskITSTPCalignment.h:24 AliAnalysisTaskITSTPCalignment.h:25 AliAnalysisTaskITSTPCalignment.h:26 AliAnalysisTaskITSTPCalignment.h:27 AliAnalysisTaskITSTPCalignment.h:28 AliAnalysisTaskITSTPCalignment.h:29 AliAnalysisTaskITSTPCalignment.h:30 AliAnalysisTaskITSTPCalignment.h:31 AliAnalysisTaskITSTPCalignment.h:32 AliAnalysisTaskITSTPCalignment.h:33 AliAnalysisTaskITSTPCalignment.h:34 AliAnalysisTaskITSTPCalignment.h:35 AliAnalysisTaskITSTPCalignment.h:36 AliAnalysisTaskITSTPCalignment.h:37 AliAnalysisTaskITSTPCalignment.h:38 AliAnalysisTaskITSTPCalignment.h:39 AliAnalysisTaskITSTPCalignment.h:40 AliAnalysisTaskITSTPCalignment.h:41 AliAnalysisTaskITSTPCalignment.h:42 AliAnalysisTaskITSTPCalignment.h:43 AliAnalysisTaskITSTPCalignment.h:44 AliAnalysisTaskITSTPCalignment.h:45 AliAnalysisTaskITSTPCalignment.h:46 AliAnalysisTaskITSTPCalignment.h:47 AliAnalysisTaskITSTPCalignment.h:48 AliAnalysisTaskITSTPCalignment.h:49 AliAnalysisTaskITSTPCalignment.h:50 AliAnalysisTaskITSTPCalignment.h:51 AliAnalysisTaskITSTPCalignment.h:52 AliAnalysisTaskITSTPCalignment.h:53 AliAnalysisTaskITSTPCalignment.h:54 AliAnalysisTaskITSTPCalignment.h:55 AliAnalysisTaskITSTPCalignment.h:56 AliAnalysisTaskITSTPCalignment.h:57 AliAnalysisTaskITSTPCalignment.h:58 AliAnalysisTaskITSTPCalignment.h:59 AliAnalysisTaskITSTPCalignment.h:60 AliAnalysisTaskITSTPCalignment.h:61 AliAnalysisTaskITSTPCalignment.h:62 AliAnalysisTaskITSTPCalignment.h:63 AliAnalysisTaskITSTPCalignment.h:64 AliAnalysisTaskITSTPCalignment.h:65 AliAnalysisTaskITSTPCalignment.h:66 AliAnalysisTaskITSTPCalignment.h:67 AliAnalysisTaskITSTPCalignment.h:68 AliAnalysisTaskITSTPCalignment.h:69 AliAnalysisTaskITSTPCalignment.h:70 AliAnalysisTaskITSTPCalignment.h:71 AliAnalysisTaskITSTPCalignment.h:72 AliAnalysisTaskITSTPCalignment.h:73 AliAnalysisTaskITSTPCalignment.h:74 AliAnalysisTaskITSTPCalignment.h:75 AliAnalysisTaskITSTPCalignment.h:76 AliAnalysisTaskITSTPCalignment.h:77 AliAnalysisTaskITSTPCalignment.h:78 AliAnalysisTaskITSTPCalignment.h:79 AliAnalysisTaskITSTPCalignment.h:80 AliAnalysisTaskITSTPCalignment.h:81 AliAnalysisTaskITSTPCalignment.h:82 AliAnalysisTaskITSTPCalignment.h:83 AliAnalysisTaskITSTPCalignment.h:84 AliAnalysisTaskITSTPCalignment.h:85 AliAnalysisTaskITSTPCalignment.h:86 AliAnalysisTaskITSTPCalignment.h:87 AliAnalysisTaskITSTPCalignment.h:88 AliAnalysisTaskITSTPCalignment.h:89 AliAnalysisTaskITSTPCalignment.h:90 AliAnalysisTaskITSTPCalignment.h:91 AliAnalysisTaskITSTPCalignment.h:92 AliAnalysisTaskITSTPCalignment.h:93 AliAnalysisTaskITSTPCalignment.h:94 AliAnalysisTaskITSTPCalignment.h:95