]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/hfe/AliHFEtaggedTrackAnalysis.h
Coveriry
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEtaggedTrackAnalysis.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 // 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.
20 //
21 #ifndef ALIHFETAGGEDTRACKANALYSIS_H
22 #define ALIHFETAGGEDTRACKANALYSIS_H
23
24 #ifndef ROOT_TNamed
25 #include <TNamed.h>
26 #endif
27
28 class AliHFEcollection;
29 class AliHFEcontainer;
30 class AliHFEcuts;
31 class AliHFEpid;
32 class AliHFEpidQAmanager;
33 class AliHFEvarManager;
34
35 class AliHFEtaggedTrackAnalysis : public TNamed{
36   public:
37     AliHFEtaggedTrackAnalysis();
38     AliHFEtaggedTrackAnalysis(const char *name);
39     AliHFEtaggedTrackAnalysis(const AliHFEtaggedTrackAnalysis &ref);
40     AliHFEtaggedTrackAnalysis &operator=(const AliHFEtaggedTrackAnalysis &ref);
41     ~AliHFEtaggedTrackAnalysis();
42     
43     void InitContainer();
44     void ProcessTrack(AliVParticle *track, Int_t abinitioPID);
45         
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     Double_t GetMagneticField() const { return fMagneticField; };
55     AliHFEvarManager *GetVarManager() const { return fVarManager; }
56
57     void SetCuts(AliHFEcuts *cuts);
58     void SetPID(AliHFEpid *pid);
59     void SetCentrality(Int_t centrality) { fCentralityF = centrality; };
60     void SetPbPb(){ fIsPbPb = kTRUE; }
61     void SetPP() { fIsPbPb = kFALSE; }
62     void SetClean(Bool_t clean) { fClean = clean; };
63     void SetMagneticField(Double_t magneticField) { fMagneticField = magneticField; };
64     void SetVariablesTRD(Bool_t variablesTRD) { fVariablesTRD = variablesTRD; };
65
66   private:
67     enum{
68       kIsOwner = BIT(14),
69       kIsOwnerCuts = BIT(15)
70     };
71     AliHFEvarManager    *fVarManager;   // Variable Manager
72     AliHFEcontainer     *fContainer;    // Output container
73     AliHFEpid           *fPID;          // PID selection
74     AliHFEpidQAmanager  *fPIDqa;        // PID monitoring
75     AliHFEcuts          *fCuts;         // Single track cuts
76     AliCFManager        *fCFM;          // CF Manager used for the track filtering
77     AliHFEcollection    *fQAhistos;     // QA histos
78     Int_t              fCentralityF;  // Centrality
79     Bool_t               fClean;        // Clean
80     Double_t             fMagneticField; // Magnetic field
81     Bool_t               fVariablesTRD;  //  Use phi angle at the first plane of the TRD
82     Bool_t               fIsPbPb;        // Analysis Type: pp or PbPb 
83     
84   ClassDef(AliHFEtaggedTrackAnalysis, 0)
85 };
86 #endif