]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskDCA.h
Config file of AliAnalysisTaskElecV2
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskDCA.h
CommitLineData
70da6c5a 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
15//
16// Task for impact parameter (DCA) analysis
17// study DCA in rphi (xy) and z: resolution and pull
18// For further information see implementation file
19
20
c2690925 21#ifndef ALIANALYSISTASKDCA_H
22#define ALIANALYSISTASKDCA_H
faee3b18 23#ifndef ALIANALYSISTASKSE_H
24#include "AliAnalysisTaskSE.h"
70da6c5a 25#endif
26
27class TH1I;
28class TH1F;
29class TList;
30class AliLog;
70da6c5a 31class AliCFManager;
32class AliESDEvent;
33class AliESDtrackCuts;
34class AliMCEvent;
35class AliVParticle;
36
faee3b18 37class AliVEvent;
38class AliVertexerTracks;
70da6c5a 39class AliHFEpid;
40class AliHFEcuts;
41class AliHFEextraCuts;
42
faee3b18 43class AliAnalysisTaskDCA : public AliAnalysisTaskSE{
70da6c5a 44 public:
45
46 typedef enum{
47 kPostProcess = 0,
faee3b18 48 kImpactPar = 1,
49 kPrimVtx = 2,
50 kCombinedPid = 3,
51 kHFEpid = 4,
52 kKFdca = 5
70da6c5a 53 }Switches_t;
54
55 enum{
56 kHasMCdata = BIT(19),
57 kAODanalysis = BIT(20)
58 };
59
60 AliAnalysisTaskDCA();
61 AliAnalysisTaskDCA(const char * name);
62 AliAnalysisTaskDCA(const AliAnalysisTaskDCA &ref);
63 AliAnalysisTaskDCA& operator=(const AliAnalysisTaskDCA &ref);
64 virtual ~AliAnalysisTaskDCA();
65
faee3b18 66 virtual void UserCreateOutputObjects();
67 virtual void UserExec(Option_t *);
70da6c5a 68 virtual void Terminate(Option_t *);
69
70
71 void PrintStatus() const;
72 void Load(TString filename = "impactPar.root");
73 void PostProcess();
74 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
75
70da6c5a 76 void SetNclustersITS(Int_t nITSclusters){ fNclustersITS = nITSclusters;};
faee3b18 77 void SetMinPrimVtxContrib( Int_t nPrimVtxContrib){ fMinNprimVtxContrbutor = nPrimVtxContrib; };
78
70da6c5a 79 Bool_t GetPlugin(Int_t plug) const { return TESTBIT(fPlugins, plug); };
80 void SwitchOnPlugin(Int_t plug);
faee3b18 81
82 Bool_t IsAODanalysis() const { return TestBit(kAODanalysis); };
83 Bool_t IsESDanalysis() const { return !TestBit(kAODanalysis); };
70da6c5a 84 Bool_t HasMCData() const { return TestBit(kHasMCdata); }
85 void SetHasMCData(Bool_t hasMC = kTRUE) { SetBit(kHasMCdata, hasMC); };
faee3b18 86
87 void SetPIDdetectors(Char_t * const detectors){ fPIDdetectors = detectors; }
88 void SetPIDStrategy(UInt_t strategy) { fPIDstrategy = strategy; }
89 void AddPIDdetector(TString detector);
90
70da6c5a 91 void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); };
92 void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); };
93
94
95 private:
96
97 void MakeParticleContainer();
faee3b18 98 void ProcessDcaAnalysis();
99
100 UShort_t fPlugins; // Enabled Plugins
101 AliHFEcuts *fCuts; // Cut Collection
70da6c5a 102
faee3b18 103 AliHFEpid *fHFEpid; //! PID
104 TString fPIDdetectors; // Detectors for Particle Identification
105 UInt_t fPIDstrategy; // PID Strategy
106
107 AliCFManager *fCFM; //! Correction Framework Manager
108 AliHFEdca *fDCA; // fDCA
70da6c5a 109
faee3b18 110 Int_t fNclustersITS; // ITS clusters
111 Int_t fMinNprimVtxContrbutor; // minimum number of primary contributors
112
113 TH1I *fNEvents; //! counter for the number of Events
114 TList *fResidualList; //! histograms for the residuals
115 TList *fPullList; //! histograms for the pull
116 TList *fDcaList; //! histograms for the dca
117 TList *fKfDcaList; //! histograms for the kf dca
118 TList *fMcVertexList; //! histograms for the MC vertex
119 TList *fDataDcaList; //! histograms for the data dca
120 TList *fDataVertexList; //! histograms for the data vertex
121 TList *fDataPullList; //! histograms for the data pull
122 TList *fMcPidList; //! pid - MC: ESD combined pid
123 TList *fDataPidList; //! pid -Data: ESD combined pid
124
125 TList *fHfeDcaList; //! hfe pid: mc dca
126 TList *fHfeDataDcaList; //! hfe pid: data dca
127
128 TList *fOutput; //! Container for Task Output
129
130 ClassDef(AliAnalysisTaskDCA, 1); // The DCA Analysis Task
70da6c5a 131};
132#endif
133