]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/hfe/AliHFEtaggedTrackAnalysis.h
Various updates, including corrections for code rule violations
[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_TObject
25 #include <TObject.h>
26 #endif
27
28 class AliHFEcontainer;
29 class AliHFEcuts;
30 class AliHFEpid;
31 class AliHFEpidQAmanager;
32 class AliHFEvarManager;
33
34 class AliHFEtaggedTrackAnalysis : public TObject{
35   public:
36     AliHFEtaggedTrackAnalysis();
37     AliHFEtaggedTrackAnalysis(const AliHFEtaggedTrackAnalysis &ref);
38     AliHFEtaggedTrackAnalysis &operator=(const AliHFEtaggedTrackAnalysis &ref);
39     ~AliHFEtaggedTrackAnalysis();
40     
41     void InitContainer();
42     void ProcessTrack(AliVParticle *track, Int_t abinitioPID);
43
44     AliHFEcontainer *GetContainer() const { return fContainer; }
45     AliHFEpidQAmanager *GetPIDqa() const { return fPIDqa; }
46     TList * GetPIDQA() const;
47     TList * GetCutQA() const;
48     Bool_t  GetClean() const { return fClean; }; 
49
50     void SetCuts(AliHFEcuts *cuts);
51     void SetPID(AliHFEpid *pid);
52     void SetClean(Bool_t clean) { fClean = clean; };
53
54   private:
55     enum{
56       kIsOwner = BIT(14),
57       kIsOwnerCuts = BIT(15)
58     };
59     AliHFEvarManager    *fVarManager;   // Variable Manager
60     AliHFEcontainer     *fContainer;    // Output container
61     AliHFEpid           *fPID;          // PID selection
62     AliHFEpidQAmanager  *fPIDqa;        // PID monitoring
63     AliHFEcuts          *fCuts;         // Single track cuts
64     AliCFManager        *fCFM;          // CF Manager used for the track filtering
65     Bool_t               fClean;        // Clean
66     
67   ClassDef(AliHFEtaggedTrackAnalysis, 0)
68 };
69 #endif