]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/hfe/AliHFEpidQAmanager.h
Possibility to select on the basis of the presence of at least a fake track among...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidQAmanager.h
1 #ifndef ALIHFEPIDQAMANAGER_H
2 #define ALIHFEPIDQAMANAGER_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 AliHFEpidQAmanager
23 // Steering PID QA
24 // More information can be found inside the implementation file
25 //
26 #ifndef ROOT_TObject
27 #include <TObject.h>
28 #endif
29
30 #ifndef ALIHFEPID_H
31 #include "AliHFEpid.h"
32 #endif
33
34 #ifndef ALIHFEDETPIDQA_H
35 #include "AliHFEdetPIDqa.h"
36 #endif
37
38 class TList; 
39 class AliVParticle;
40 class AliESDpid;
41 class AliAODpidUtil;
42 class AliHFEpidObject;
43
44 class AliHFEpidQAmanager : public TObject{
45   public:
46     AliHFEpidQAmanager();
47     AliHFEpidQAmanager(const AliHFEpidQAmanager &ref);
48     AliHFEpidQAmanager &operator=(const AliHFEpidQAmanager &ref);
49     void Copy(TObject &o) const;
50     ~AliHFEpidQAmanager();
51
52     void Initialize(AliHFEpid *pid);
53     void ProcessTrack(const AliHFEpidObject *track, AliHFEpid::EDETtype_t det, AliHFEdetPIDqa::EStep_t step);
54     AliHFEdetPIDqa *GetDetectorPIDqa(AliHFEpid::EDETtype_t detector) const { return fDetPIDqa[detector]; }
55     AliHFEpidBase *GetDetectorPID(AliHFEpid::EDETtype_t detector) const { return fDetPID[detector]; }
56     TList *MakeList(const Char_t *name);
57     void SetHighResolutionHistos() { SetBit(kHighResolutionHistos, kTRUE); };
58     Bool_t HasHighResolutionHistos() const { return TestBit(kHighResolutionHistos); }
59
60   protected:
61     enum{
62       kIsOwner = BIT(14),
63       kHighResolutionHistos = BIT(15)
64     };
65     Bool_t IsOwner() const { return TestBit(kIsOwner); }
66     void SetOwner() { SetBit(kIsOwner, kTRUE); }
67     void ReleaseOwnerShip() { SetBit(kIsOwner, kFALSE); }
68     void CreateDetPIDqa(AliHFEpid::EDETtype_t detector);
69
70   private:
71     AliHFEdetPIDqa *fDetPIDqa[AliHFEpid::kNdetectorPID]; //! Detector PID QA objects
72     AliHFEpidBase *fDetPID[AliHFEpid::kNdetectorPID];    //  Detector PID objects
73
74   ClassDef(AliHFEpidQAmanager, 0)
75 };
76 #endif