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 SetClean(Bool_t clean) { fClean = clean; };
65 void SetMagneticField(Double_t magneticField) { fMagneticField = magneticField; };
66 void SetVariablesTRD(Bool_t variablesTRD) { fVariablesTRD = variablesTRD; };
71 kIsOwnerCuts = BIT(15)
73 AliHFEvarManager *fVarManager; // Variable Manager
74 AliHFEcontainer *fContainer; // Output container
75 AliHFEpid *fPID; // PID selection
76 AliHFEpidQAmanager *fPIDqa; // PID monitoring
77 AliHFEcuts *fCuts; // Single track cuts
78 AliCFManager *fCFM; // CF Manager used for the track filtering
79 AliHFEcollection *fQAhistos; // QA histos
80 Int_t fCentralityF; // Centrality
81 Bool_t fClean; // Clean
82 Double_t fMagneticField; // Magnetic field
83 Bool_t fVariablesTRD; // Use phi angle at the first plane of the TRD
84 Bool_t fIsPbPb; // Analysis Type: PbPb or no PbPb
85 Bool_t fIspPb; // Analysis Type: pPb or no pPb
87 ClassDef(AliHFEtaggedTrackAnalysis, 0)