1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
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
21 #ifndef ALIANALYSISTASKDCA_H
22 #define ALIANALYSISTASKDCA_H
24 #ifndef ALIANALYSISTASK_H
25 #include "AliAnalysisTask.h"
35 class AliESDtrackCuts;
41 class AliHFEextraCuts;
43 class AliAnalysisTaskDCA : public AliAnalysisTask{
53 kAODanalysis = BIT(20)
57 AliAnalysisTaskDCA(const char * name);
58 AliAnalysisTaskDCA(const AliAnalysisTaskDCA &ref);
59 AliAnalysisTaskDCA& operator=(const AliAnalysisTaskDCA &ref);
60 virtual ~AliAnalysisTaskDCA();
62 virtual void ConnectInputData(Option_t *);
63 virtual void CreateOutputObjects();
64 virtual void Exec(Option_t *);
65 virtual void Terminate(Option_t *);
68 void PrintStatus() const;
69 void Load(TString filename = "impactPar.root");
71 void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
73 void SetPixelStatus(Int_t pixelStatus){ fPixelStatus = pixelStatus;};
74 void SetNclustersITS(Int_t nITSclusters){ fNclustersITS = nITSclusters;};
76 Bool_t GetPlugin(Int_t plug) const { return TESTBIT(fPlugins, plug); };
77 void SwitchOnPlugin(Int_t plug);
79 Bool_t HasMCData() const { return TestBit(kHasMCdata); }
80 void SetHasMCData(Bool_t hasMC = kTRUE) { SetBit(kHasMCdata, hasMC); };
81 void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); };
82 void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); };
87 void MakeParticleContainer();
88 UShort_t fPlugins; // Enabled Plugins
89 AliESDEvent *fESD; //! The ESD Event
90 AliMCEvent *fMC; //! The MC Event
92 AliHFEcuts *fCuts; // Cut Collection
93 AliCFManager *fCFM; //! Correction Framework Manager
94 AliHFEdca *fDCA; // fDCA
97 Int_t fPixelStatus; // pixel layer
98 Int_t fNclustersITS; // ITS clusters
100 TH1I *fNEvents; //! counter for the number of Events
101 TList *fResidualList; //! histograms for the residuals
102 TList *fPullList; //! histograms for the pull
103 TList *fOutput; //! Container for Task Output
105 ClassDef(AliAnalysisTaskDCA, 1); // The DCA Analysis Task