]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/AliOfflineTrigger.h
added FMD offline trigger
[u/mrichter/AliRoot.git] / PWG0 / AliOfflineTrigger.h
1 /* $Id: AliOfflineTrigger.h 35782 2009-10-22 11:54:31Z jgrosseo $ */
2
3 #ifndef ALIOFFLINETRIGGER_H
4 #define ALIOFFLINETRIGGER_H
5
6 #include <TObject.h>
7 #include <AliPWG0Helper.h>
8
9 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
10  * See cxx source for full Copyright notice                               */
11
12 //-------------------------------------------------------------------------
13 //                      Implementation of   Class AliOfflineTrigger
14 //   This class provides offline triggers from data in the ESD
15 //   Origin: Jan Fiete Grosse-Oetringhaus, CERN
16 //-------------------------------------------------------------------------
17
18 class AliESDEvent;
19
20 class AliOfflineTrigger : public TObject
21 {
22   public:
23     enum AliceSide { kASide = 1, kCSide, kCentralBarrel };
24     
25     AliOfflineTrigger();
26     virtual ~AliOfflineTrigger() {}
27
28     Bool_t IsEventTriggered(const AliESDEvent* aEsd, AliPWG0Helper::Trigger trigger) const;
29     
30     void SetSPDGFOThreshhold(Int_t t) { fSPDGFOThreshold = t; }
31     void SetV0Threshhold(Int_t aSide, Int_t cSide) { fV0AThreshold = aSide; fV0CThreshold = cSide; }
32     void SetFMDThreshold(Float_t low, Float_t hit) { fFMDLowCut = low; fFMDHitCut = hit; }
33     
34     Int_t GetSPDGFOThreshhold() const { return fSPDGFOThreshold; }
35     Int_t GetV0AThreshold() const { return fV0AThreshold; }
36     Int_t GetV0CThreshold() const { return fV0CThreshold; }
37     Float_t GetFMDLowThreshold() const { return fFMDLowCut; }
38     Float_t GetFMDHitThreshold() const { return fFMDHitCut; }
39
40   protected:
41     Bool_t SPDGFOTrigger(const AliESDEvent* aEsd) const;
42     Bool_t V0Trigger(const AliESDEvent* aEsd, AliceSide side) const;
43     Bool_t ZDCTrigger(const AliESDEvent* aEsd, AliceSide side) const;
44     Bool_t FMDTrigger(const AliESDEvent* aEsd, AliceSide side) const;
45
46     Int_t fSPDGFOThreshold;         // number of chips to accept a SPD GF0 trigger
47     Int_t fV0AThreshold;            // threshold for number of BB triggers in V0A
48     Int_t fV0CThreshold;            // threshold for number of BB triggers in V0C
49  
50     Float_t fFMDLowCut;             // 
51     Float_t fFMDHitCut;             // 
52
53     ClassDef(AliOfflineTrigger, 0)
54     
55   private:
56     AliOfflineTrigger(const AliOfflineTrigger&);
57     AliOfflineTrigger& operator=(const AliOfflineTrigger&);
58 };
59
60 #endif