]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliHFAssociatedTrackCuts.h
Code for D*-hadron correlation (Sandro)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliHFAssociatedTrackCuts.h
1 #ifndef AliHFAssociatedTrackCuts_H\r
2 #define AliHFAssociatedTrackCuts_H\r
3 /**************************************************************************\r
4  * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *\r
5  *                                                                        *\r
6  * Author: The ALICE Off-line Project.                                    *\r
7  * Contributors are mentioned in the code where appropriate.              *\r
8  *                                                                        *\r
9  * Permission to use, copy, modify and distribute this software and its   *\r
10  * documentation strictly for non-commercial purposes is hereby granted   *\r
11  * without fee, provided that the above copyright notice appears in all   *\r
12  * copies and that both the copyright notice and this permission notice   *\r
13  * appear in the supporting documentation. The authors make no claims     *\r
14  * about the suitability of this software for any purpose. It is          *\r
15  * provided "as is" without express or implied warranty.                  *\r
16  **************************************************************************/\r
17 \r
18 /* $Id$ */\r
19 \r
20 ////////////////////////////////////////////////////////////////////////\r
21 //\r
22 // Base class for cuts on Associated tracks for HF Correlation analysis\r
23 //\r
24 // Author: S.Bjelogrlic (Utrecht) sandro.bjelogrlic@cern.ch\r
25 ////////////////////////////////////////////////////////////////////////\r
26 \r
27 #include <TString.h>\r
28 #include "AliAnalysisCuts.h"\r
29 #include "AliESDtrackCuts.h"\r
30 #include "AliAODPidHF.h"\r
31 #include "AliAODEvent.h"\r
32 #include <TClonesArray.h>\r
33 \r
34 class AliAODTrack;\r
35 class AliAODEvent;\r
36 \r
37 \r
38 //\r
39 class AliHFAssociatedTrackCuts : public AliAnalysisCuts\r
40 {\r
41         public: \r
42         AliHFAssociatedTrackCuts();\r
43         AliHFAssociatedTrackCuts(const char* name, const char* title);\r
44         \r
45         \r
46         AliHFAssociatedTrackCuts(const AliHFAssociatedTrackCuts& source);\r
47         AliHFAssociatedTrackCuts& operator=(const AliHFAssociatedTrackCuts& source);\r
48         \r
49         virtual ~AliHFAssociatedTrackCuts(); // destructor\r
50         //      virtual Bool_t IsSelected(TList*  list) {if(list) return kTRUE; return kFALSE;};\r
51          Bool_t IsInAcceptance();\r
52          Bool_t IsHadronSelected(AliAODTrack * track, AliAODVertex *vtx1, Double_t bz);\r
53          Bool_t CheckKaonCompatibility(AliAODTrack * track, Bool_t useMc, TClonesArray* mcArray);\r
54          Bool_t IsKZeroSelected(AliAODv0 *vzero, AliAODVertex *vtx1);\r
55          Int_t IsMCpartFromHF(Int_t label, TClonesArray*mcArray);\r
56         \r
57         \r
58         \r
59         void AddTrackCuts(const AliESDtrackCuts *cuts) {\r
60                 delete fESDTrackCuts; \r
61                 fESDTrackCuts=new AliESDtrackCuts(*cuts); \r
62                 return;\r
63         }\r
64         \r
65         void SetAODTrackCuts(Float_t *cutsarray);\r
66         void SetTrackCutsNames(/*TString *namearray*/);\r
67         void SetAODvZeroCuts(Float_t *cutsarray);\r
68         void SetvZeroCutsNames(/*TString *namearray*/);\r
69         void SetPidHF(AliAODPidHF* pid) {fPidObj = pid; return;}\r
70         virtual void PrintAll();\r
71         Int_t GetNVarsTrack(){return fNTrackCuts;}\r
72         \r
73         \r
74         \r
75         void SetNVarsTrack(Int_t nVars){fNTrackCuts=nVars;}\r
76         void SetNVarsVzero(Int_t nVars){fNvZeroCuts=nVars;}\r
77         \r
78 private:\r
79         //AliESDtrackCuts *fTrackCuts;\r
80         AliESDtrackCuts *fESDTrackCuts; // track cut object\r
81         AliAODPidHF * fPidObj;     /// PID object\r
82         Int_t fNTrackCuts;     // array dimension\r
83         Float_t* fAODTrackCuts;//[fNTrackCuts]\r
84         TString * fTrackCutsNames;//[fNTrackCuts]\r
85         Int_t fNvZeroCuts;// array dimension\r
86         Float_t *fAODvZeroCuts;//[fNvZeroCuts]\r
87         TString * fvZeroCutsNames;//[fNvZeroCuts]\r
88         \r
89         \r
90         ClassDef(AliHFAssociatedTrackCuts,1);\r
91 };\r
92 \r
93 \r
94 #endif\r