moving dndpt code into PWG0dep because it depends on classes in steer
[u/mrichter/AliRoot.git] / PWG0 / AliOfflineTrigger.h
CommitLineData
ff8c4f30 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
7a11141c 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
ff8c4f30 18class AliESDEvent;
907972ff 19class TH1;
ff8c4f30 20
21class AliOfflineTrigger : public TObject
22{
23 public:
c8d3e441 24 enum AliceSide { kASide = 1, kCSide, kCentralBarrel };
ff8c4f30 25
26 AliOfflineTrigger();
27 virtual ~AliOfflineTrigger() {}
907972ff 28
29 void EnableHistograms();
ff8c4f30 30
31 Bool_t IsEventTriggered(const AliESDEvent* aEsd, AliPWG0Helper::Trigger trigger) const;
907972ff 32 void FillHistograms(const AliESDEvent* aEsd);
ff8c4f30 33
34 void SetSPDGFOThreshhold(Int_t t) { fSPDGFOThreshold = t; }
35 void SetV0Threshhold(Int_t aSide, Int_t cSide) { fV0AThreshold = aSide; fV0CThreshold = cSide; }
7a11141c 36 void SetFMDThreshold(Float_t low, Float_t hit) { fFMDLowCut = low; fFMDHitCut = hit; }
ff8c4f30 37
38 Int_t GetSPDGFOThreshhold() const { return fSPDGFOThreshold; }
39 Int_t GetV0AThreshold() const { return fV0AThreshold; }
40 Int_t GetV0CThreshold() const { return fV0CThreshold; }
7a11141c 41 Float_t GetFMDLowThreshold() const { return fFMDLowCut; }
42 Float_t GetFMDHitThreshold() const { return fFMDHitCut; }
907972ff 43
44 virtual Long64_t Merge(TCollection* list);
45 void WriteHistograms() const;
ff8c4f30 46
47 protected:
907972ff 48 Int_t SPDFiredChips(const AliESDEvent* aEsd) const;
ff8c4f30 49 Bool_t SPDGFOTrigger(const AliESDEvent* aEsd) const;
907972ff 50
51 Int_t V0BBTriggers(const AliESDEvent* aEsd, AliceSide side) const;
ff8c4f30 52 Bool_t V0Trigger(const AliESDEvent* aEsd, AliceSide side) const;
907972ff 53
ff8c4f30 54 Bool_t ZDCTrigger(const AliESDEvent* aEsd, AliceSide side) const;
907972ff 55
56 Int_t FMDHitCombinations(const AliESDEvent* aEsd, AliceSide side, Bool_t fillHistograms) const;
7a11141c 57 Bool_t FMDTrigger(const AliESDEvent* aEsd, AliceSide side) const;
ff8c4f30 58
59 Int_t fSPDGFOThreshold; // number of chips to accept a SPD GF0 trigger
60 Int_t fV0AThreshold; // threshold for number of BB triggers in V0A
61 Int_t fV0CThreshold; // threshold for number of BB triggers in V0C
62
7a11141c 63 Float_t fFMDLowCut; //
64 Float_t fFMDHitCut; //
907972ff 65
66 TH1* fHistSPD; // histograms that histogram the criterion the cut is applied on: fired chips
67 TH1* fHistV0A; // histograms that histogram the criterion the cut is applied on: bb triggers
68 TH1* fHistV0C; // histograms that histogram the criterion the cut is applied on: bb triggers
69 TH1* fHistZDC; // histograms that histogram the criterion the cut is applied on: fired bits (6 bins)
70 TH1* fHistFMDA; // histograms that histogram the criterion the cut is applied on: number of hit combination above threshold
71 TH1* fHistFMDC; // histograms that histogram the criterion the cut is applied on: number of hit combination above threshold
72 TH1* fHistFMDSingle; // histograms that histogram the criterion the cut is applied on: single mult value (more than one entry per event)
73 TH1* fHistFMDSum; // histograms that histogram the criterion the cut is applied on: summed mult value (more than one entry per event)
7a11141c 74
907972ff 75 ClassDef(AliOfflineTrigger, 1)
ff8c4f30 76
77 private:
78 AliOfflineTrigger(const AliOfflineTrigger&);
79 AliOfflineTrigger& operator=(const AliOfflineTrigger&);
80};
81
82#endif