]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliHFEV0taginfo.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEV0taginfo.h
CommitLineData
7986e54e 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"
e2861c1a 26#include "AliAODv0KineCuts.h"
27
28class AliVEvent;
7986e54e 29
30class AliHFEV0taginfo: public TNamed{
31
32 public:
33
34 AliHFEV0taginfo();
35 AliHFEV0taginfo(const char* name);
f4945911 36 AliHFEV0taginfo(const AliHFEV0taginfo &ref);
37 AliHFEV0taginfo& operator=(const AliHFEV0taginfo &ref);
7986e54e 38 virtual ~AliHFEV0taginfo();
39
40 void Reset(); //resets the fTaggedTracks TList
e2861c1a 41 void TagV0Tracks(AliVEvent *event); // loops over V0s in event and fills fTaggedTracks with V0 tracks
7986e54e 42 AliPID::EParticleType GetV0Info(Int_t trackID); //check for V0 information from track ID
afb48e1d 43 Float_t GetV0ProdR(Int_t trackID); //check for V0 information from track ID
7986e54e 44 void SetIsAODana() { fIsAODana = kTRUE; } // Setter AOD analysis
f4945911 45 void SetIsESDana() { fIsAODana = kFALSE; } // Setter ESD analysis
afb48e1d 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)
7986e54e 47
48 class AliHFEV0tag: public TObject{
49 public:
50 AliHFEV0tag();
7fcd6b0f 51 AliHFEV0tag(Int_t TrackID, AliPID::EParticleType Pinfo, Double_t ProdR);
7986e54e 52 AliHFEV0tag(const AliHFEV0tag &ref);
53 AliHFEV0tag &operator=(const AliHFEV0tag &ref);
54 virtual ~AliHFEV0tag();
55
7986e54e 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
5a516e0a 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
7986e54e 64 //Getter
65 Int_t GetTrackID() const { return fTrackID; };
66 AliPID::EParticleType GetPinfo() const { return fPinfo; };
afb48e1d 67 Double_t GetProdR() const { return fProdR; };
7986e54e 68 private:
69 Int_t fTrackID;
70 AliPID::EParticleType fPinfo;
afb48e1d 71 Double_t fProdR; // V0 daughter production vertex radius in x-y plane
7986e54e 72
73 ClassDef(AliHFEV0taginfo::AliHFEV0tag,1);
74 };
75 private:
7986e54e 76 Bool_t fIsAODana;
f4945911 77 TList *fTaggedTracks;
7986e54e 78 AliESDv0KineCuts *fV0finder;
e2861c1a 79 AliAODv0KineCuts *fAODV0finder;
7986e54e 80
81 ClassDef(AliHFEV0taginfo,1)
82};
83#endif