1 #ifndef AliAnalysisTaskITSTrackingCheck_cxx
2 #define AliAnalysisTaskITSTrackingCheck_cxx
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //*************************************************************************
8 // Class AliAnalysiTaskITSTrackingCheck
9 // AliAnalysisTask to extract from ESD tracks the information on the
10 // ITS tracking efficiency and resolutions
12 // Author: A.Dainese, andrea.dainese@pd.infn.it
13 //*************************************************************************
22 #include "AliAnalysisTask.h"
24 class AliAnalysisTaskITSTrackingCheck : public AliAnalysisTask
28 AliAnalysisTaskITSTrackingCheck(const char *name = "AliAnalysisTaskITSTrackingCheck");
29 virtual ~AliAnalysisTaskITSTrackingCheck();
31 virtual void ConnectInputData(Option_t *);
32 virtual void CreateOutputObjects();
33 virtual void Exec(Option_t *option);
34 virtual void Terminate(Option_t *);
35 Bool_t GetReadMC() const { return fReadMC; }
36 void SetReadMC(Bool_t flag=kTRUE) { fReadMC=flag; }
37 void SetReadRPLabels(Bool_t flag=kTRUE) { fReadRPLabels=flag; }
38 void SetFillNtuples(Bool_t flag=kTRUE) { fFillNtuples=flag; }
39 void SetUseITSSAforNtuples(Bool_t flag=kTRUE) { fUseITSSAforNtuples=flag; }
43 Bool_t fReadMC; // read Monte Carlo
44 Bool_t fReadRPLabels; // read MC labels from ITS.RecPoints
45 Bool_t fFillNtuples; // fill expert ntuples
46 Bool_t fUseITSSAforNtuples; // fill expert ntuples with ITSSA tracks
47 AliESDEvent *fESD; // ESD object
48 AliESDfriend *fESDfriend; // ESD friend object
49 TList *fOutput; //! list send on output slot 0
50 TH1F *fHistNtracks; //! output hist
51 TH1F *fHistNclsITSMI; //! output hist
52 TH1F *fHistNclsITSSA; //! output hist
53 TH1F *fHistNclsITSSAInAcc; //! output hist
54 TH1F *fHistClusterMapITSMI; //! output hist
55 TH1F *fHistClusterMapITSMIok; //! output hist
56 TH1F *fHistClusterMapITSMIbad; //! output hist
57 TH1F *fHistClusterMapITSMIskipped; //! output hist
58 TH1F *fHistClusterMapITSMIoutinz; //! output hist
59 TH1F *fHistClusterMapITSMInorefit; //! output hist
60 TH1F *fHistClusterMapITSMInocls; //! output hist
61 TH1F *fHistClusterMapITSMIokoutinzbad; //! output hist
62 TH1F *fHistClusterMapITSSA; //! output hist
63 TH1F *fHistClusterMapITSSAok; //! output hist
64 TH1F *fHistClusterMapITSSAbad; //! output hist
65 TH1F *fHistClusterMapITSSAskipped; //! output hist
66 TH1F *fHistClusterMapITSSAoutinz; //! output hist
67 TH1F *fHistClusterMapITSSAnorefit; //! output hist
68 TH1F *fHistClusterMapITSSAnocls; //! output hist
69 TH1F *fHistClusterMapITSSAokoutinzbad; //! output hist
70 TH1F *fHistClusterMapITSSAInAcc; //! output hist
71 TH1F *fHistClusterMapITSSAokInAcc; //! output hist
72 TH1F *fHistClusterMapITSSAbadInAcc; //! output hist
73 TH1F *fHistClusterMapITSSAskippedInAcc; //! output hist
74 TH1F *fHistClusterMapITSSAoutinzInAcc; //! output hist
75 TH1F *fHistClusterMapITSSAnorefitInAcc; //! output hist
76 TH1F *fHistClusterMapITSSAnoclsInAcc; //! output hist
77 TH1F *fHistClusterMapITSSAokoutinzbadInAcc; //! output hist
78 TH1F *fHistClusterMapModuleITSSAokInAcc; //! output hist
79 TH1F *fHistClusterMapModuleITSSAbadInAcc; //! output hist
80 TH1F *fHistClusterMapModuleITSSAnoclsInAcc; //! output hist
81 TH1F *fHistPhiTPCInAcc; //! output hist
82 TH1F *fHistPtTPC; //! output hist
83 TH1F *fHistPtTPCInAcc; //! output hist
84 TH1F *fHistPtITSMI2; //! output hist
85 TH1F *fHistPtITSMI3; //! output hist
86 TH1F *fHistPtITSMI4; //! output hist
87 TH1F *fHistPtITSMI5; //! output hist
88 TH1F *fHistPtITSMI6; //! output hist
89 TH1F *fHistPtITSMISPD; //! output hist
90 TH1F *fHistPtITSMIoneSPD; //! output hist
91 TH1F *fHistPtITSMI2InAcc; //! output hist
92 TH1F *fHistPtITSMI3InAcc; //! output hist
93 TH1F *fHistPtITSMI4InAcc; //! output hist
94 TH1F *fHistPtITSMI5InAcc; //! output hist
95 TH1F *fHistPtITSMI6InAcc; //! output hist
96 TH1F *fHistPtITSMISPDInAcc; //! output hist
97 TH1F *fHistPtITSMIoneSPDInAcc; //! output hist
98 TH1F *fHistPtITSMIokbadoutinz6; //! output hist
99 TH1F *fHistPtITSMIokbadoutinz4InAcc; //! output hist
100 TH1F *fHistPtITSMIokbadoutinz5InAcc; //! output hist
101 TH1F *fHistPtITSMIokbadoutinz6InAcc; //! output hist
102 TH1F *fHistPhiITSMIokbadoutinz6InAcc; //! output hist
103 TNtuple *fNtupleESDTracks; //! output ntuple
104 TNtuple *fNtupleITSAlignExtra; //! output ntuple
105 TNtuple *fNtupleITSAlignSPDTracklets; //! output ntuple
106 Int_t fCountsPerPtBin[10]; // track per pt bin
110 AliAnalysisTaskITSTrackingCheck(const AliAnalysisTaskITSTrackingCheck&); // not implemented
111 AliAnalysisTaskITSTrackingCheck& operator=(const AliAnalysisTaskITSTrackingCheck&); // not implemented
114 Int_t NumberOfITSClustersMC(Int_t label) const;
115 Double_t ParticleImpParMC(TParticle *part,AliESDVertex *vert,Double_t bzT) const;
116 Bool_t SelectPt(Double_t pt);
118 ClassDef(AliAnalysisTaskITSTrackingCheck,4); // ITS tracks analysis