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 // Class AliHFEtaggedTrackAnalysis
17 // Analyses tracks with an apriori PID information (i.e. using the daugther
18 // tracks from well-identified decays of neutral charged particles).
19 // More information can be found inside the implementation file.
21 #ifndef ALIHFETAGGEDTRACKANALYSIS_H
22 #define ALIHFETAGGEDTRACKANALYSIS_H
28 class AliHFEcollection;
29 class AliHFEcontainer;
32 class AliHFEpidQAmanager;
33 class AliHFEvarManager;
35 class AliHFEtaggedTrackAnalysis : public TNamed{
37 AliHFEtaggedTrackAnalysis();
38 AliHFEtaggedTrackAnalysis(const char *name);
39 AliHFEtaggedTrackAnalysis(const AliHFEtaggedTrackAnalysis &ref);
40 AliHFEtaggedTrackAnalysis &operator=(const AliHFEtaggedTrackAnalysis &ref);
41 ~AliHFEtaggedTrackAnalysis();
44 void ProcessTrack(AliVTrack *track, Int_t abinitioPID);
46 AliHFEcontainer *GetContainer() const { return fContainer; }
47 AliHFEpidQAmanager *GetPIDqa() const { return fPIDqa; }
48 TList * GetPIDQA() const;
49 TList * GetCutQA() const;
50 AliHFEcollection * GetQAcollection() const { return fQAhistos; }
51 Bool_t GetClean() const { return fClean; };
52 Bool_t IsPbPb() const { return fIsPbPb; }
53 Bool_t IsPP() const { return !fIsPbPb; }
54 Bool_t IspPb() const { return fIspPb; }
55 Double_t GetMagneticField() const { return fMagneticField; };
56 AliHFEvarManager *GetVarManager() const { return fVarManager; }
58 void SetCuts(AliHFEcuts *cuts);
59 void SetPID(AliHFEpid *pid);
60 void SetCentrality(Int_t centrality) { fCentralityF = centrality; };
61 void SetPbPb(){ fIsPbPb = kTRUE; }
62 void SetPP() { fIsPbPb = kFALSE; }
63 void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; }
64 void SetAOD() { fIsAOD = kTRUE; }
65 void SetClean(Bool_t clean) { fClean = clean; };
66 void SetMagneticField(Double_t magneticField) { fMagneticField = magneticField; };
67 void SetVariablesTRD(Bool_t variablesTRD) { fVariablesTRD = variablesTRD; };
72 kIsOwnerCuts = BIT(15)
74 AliHFEvarManager *fVarManager; // Variable Manager
75 AliHFEcontainer *fContainer; // Output container
76 AliHFEpid *fPID; // PID selection
77 AliHFEpidQAmanager *fPIDqa; // PID monitoring
78 AliHFEcuts *fCuts; // Single track cuts
79 AliCFManager *fCFM; // CF Manager used for the track filtering
80 AliHFEcollection *fQAhistos; // QA histos
81 Int_t fCentralityF; // Centrality
82 Bool_t fClean; // Clean
83 Double_t fMagneticField; // Magnetic field
84 Bool_t fVariablesTRD; // Use phi angle at the first plane of the TRD
85 Bool_t fIsPbPb; // Analysis Type: PbPb or no PbPb
86 Bool_t fIspPb; // Analysis Type: pPb or no pPb
87 Bool_t fIsAOD; // Analysis Type: AOD
89 ClassDef(AliHFEtaggedTrackAnalysis, 0)