]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/hfe/AliHFEtaggedTrackAnalysis.h
Added pass1 and pass2 directories
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEtaggedTrackAnalysis.h
1 #ifndef ALIHFETAGGEDTRACKANALYSIS_H
2 #define ALIHFETAGGEDTRACKANALYSIS_H
3
4 /**************************************************************************
5 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 *                                                                        *
7 * Author: The ALICE Off-line Project.                                    *
8 * Contributors are mentioned in the code where appropriate.              *
9 *                                                                        *
10 * Permission to use, copy, modify and distribute this software and its   *
11 * documentation strictly for non-commercial purposes is hereby granted   *
12 * without fee, provided that the above copyright notice appears in all   *
13 * copies and that both the copyright notice and this permission notice   *
14 * appear in the supporting documentation. The authors make no claims     *
15 * about the suitability of this software for any purpose. It is          *
16 * provided "as is" without express or implied warranty.                  *
17 **************************************************************************/
18
19 /* $Id$ */ 
20
21 //
22 // Class AliHFEtaggedTrackAnalysis
23 // Analyses tracks with an apriori PID information (i.e. using the daugther
24 // tracks from well-identified decays of neutral charged particles).
25 // More information can be found inside the implementation file.
26 //
27 #ifndef ROOT_TObject
28 #include <TObject.h>
29 #endif
30
31 class AliHFEcollection;
32 class AliHFEcontainer;
33 class AliHFEcuts;
34 class AliHFEpid;
35 class AliHFEpidQAmanager;
36 class AliHFEvarManager;
37
38 class AliHFEtaggedTrackAnalysis : public TObject{
39   public:
40     AliHFEtaggedTrackAnalysis();
41     AliHFEtaggedTrackAnalysis(const AliHFEtaggedTrackAnalysis &ref);
42     AliHFEtaggedTrackAnalysis &operator=(const AliHFEtaggedTrackAnalysis &ref);
43     ~AliHFEtaggedTrackAnalysis();
44     
45     void InitContainer();
46     void ProcessTrack(AliVParticle *track, Int_t abinitioPID);
47         
48     AliHFEcontainer *GetContainer() const { return fContainer; }
49     AliHFEpidQAmanager *GetPIDqa() const { return fPIDqa; }
50     TList * GetPIDQA() const;
51     TList * GetCutQA() const;
52     AliHFEcollection * GetQAcollection() const { return fQAhistos; }
53     Bool_t  GetClean() const { return fClean; }; 
54     Double_t GetMagneticField() const { return fMagneticField; };
55
56     void SetCuts(AliHFEcuts *cuts);
57     void SetPID(AliHFEpid *pid);
58     void SetClean(Bool_t clean) { fClean = clean; };
59     void SetMagneticField(Double_t magneticField) { fMagneticField = magneticField; };
60     void SetVariablesTRD(Bool_t variablesTRD) { fVariablesTRD = variablesTRD; };
61
62   private:
63     enum{
64       kIsOwner = BIT(14),
65       kIsOwnerCuts = BIT(15)
66     };
67     AliHFEvarManager    *fVarManager;   // Variable Manager
68     AliHFEcontainer     *fContainer;    // Output container
69     AliHFEpid           *fPID;          // PID selection
70     AliHFEpidQAmanager  *fPIDqa;        // PID monitoring
71     AliHFEcuts          *fCuts;         // Single track cuts
72     AliCFManager        *fCFM;          // CF Manager used for the track filtering
73     AliHFEcollection    *fQAhistos;     // QA histos
74     Bool_t               fClean;        // Clean
75     Double_t            fMagneticField; // Magnetic field
76     Bool_t              fVariablesTRD;  //  Use phi angle at the first plane of the TRD 
77     
78   ClassDef(AliHFEtaggedTrackAnalysis, 0)
79 };
80 #endif