]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliHFEV0taginfo.h
Option for Bayesian PID for Ds + code cleanup
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEV0taginfo.h
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 #ifndef ALIHFEV0TAGINFO_H
17 #define ALIHFEV0TAGINFO_H
18
19 #ifndef ROOT_TNamed
20 #include <TNamed.h>
21 #endif
22
23
24 #include "AliPID.h"
25 #include "AliESDv0KineCuts.h"
26 #include "AliAODv0KineCuts.h"
27
28 class AliVEvent;
29
30 class AliHFEV0taginfo: public TNamed{
31
32     public:
33
34         AliHFEV0taginfo();
35         AliHFEV0taginfo(const char* name);
36         AliHFEV0taginfo(const AliHFEV0taginfo &ref);
37         AliHFEV0taginfo& operator=(const AliHFEV0taginfo &ref);
38         virtual ~AliHFEV0taginfo();
39
40         void Reset(); //resets the fTaggedTracks TList
41         void TagV0Tracks(AliVEvent *event); // loops over V0s in event and fills fTaggedTracks with V0 tracks
42         AliPID::EParticleType GetV0Info(Int_t trackID); //check for V0 information from track ID 
43         Float_t GetV0ProdR(Int_t trackID); //check for V0 information from track ID 
44         void SetIsAODana() { fIsAODana = kTRUE; } // Setter AOD analysis
45         void SetIsESDana() { fIsAODana = kFALSE; } // Setter ESD analysis
46         void AddTrack(Int_t TrackID, Int_t pdgCode, Double_t prodR); //Translates the pdg code to AliPID enum and adds track to tagged list (currently only e, pion and proton tracks)
47
48         class AliHFEV0tag: public TObject{
49             public:
50                 AliHFEV0tag();
51                 AliHFEV0tag(Int_t TrackID, AliPID::EParticleType Pinfo, Double_t ProdR);
52                 AliHFEV0tag(const AliHFEV0tag &ref);
53                 AliHFEV0tag &operator=(const AliHFEV0tag &ref);
54                 virtual ~AliHFEV0tag();
55
56                 //TObject virtual functions
57                 virtual Bool_t IsSortable() const { return kTRUE; };
58                 virtual Bool_t IsEqual(const TObject *ref) const;
59                 virtual Int_t Compare(const TObject *ref) const;
60
61                 //Setter
62                 void SetTrack(Int_t trackID, AliPID::EParticleType Pinfo); //Set track ID
63                 void SetProdR(Int_t trackID, Double_t prodR); //Set V0 daughter production vertex radius
64                 //Getter
65                 Int_t GetTrackID() const { return fTrackID; };
66                 AliPID::EParticleType GetPinfo() const { return fPinfo; };
67                 Double_t GetProdR() const { return fProdR; };
68             private:
69                 Int_t fTrackID;
70                 AliPID::EParticleType fPinfo;  
71                 Double_t fProdR; // V0 daughter production vertex radius in x-y plane
72
73                 ClassDef(AliHFEV0taginfo::AliHFEV0tag,1);
74         };
75     private:
76         Bool_t fIsAODana;
77         TList *fTaggedTracks;
78         AliESDv0KineCuts *fV0finder;
79         AliAODv0KineCuts *fAODV0finder;
80
81         ClassDef(AliHFEV0taginfo,1)
82 };
83 #endif