]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalTriggerSelectionCuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalTriggerSelectionCuts.h
1 #ifndef ALIEMCALTRIGGERSELECTIONCUTS_H
2 #define ALIEMCALTRIGGERSELECTIONCUTS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // Author: Markus Fasel
7
8 #include <TObject.h>
9
10 class AliEmcalTriggerPatchInfo;
11
12 class AliEmcalTriggerSelectionCuts: public TObject {
13 public:
14   enum SelectionMethod_t {
15     kADC = 0,
16     kEnergyRough = 1,
17     kEnergyOffline = 2
18   };
19   enum PatchType_t {
20     kAnyPatch = 0,
21     kL1JetPatch = 1,
22     kL1GammaPatch = 2,
23     kL0Patch = 3,
24     kL1JetLowPatch = 4,
25     kL1JetHighPatch = 5,
26     kL1GammaLowPatch = 6,
27     kL1GammaHighPatch = 7
28   };
29
30   AliEmcalTriggerSelectionCuts();
31   virtual ~AliEmcalTriggerSelectionCuts() {}
32
33   PatchType_t GetPatchType() const { return fPatchType; }
34   SelectionMethod_t GetSelectionMethod() const { return fSelectionMethod; }
35   Double_t GetThreshold() const { return fThreshold; }
36   Bool_t IsRequestingSimpleOfflinePatches() const { return fUseSimpleOffline; }
37
38   void SetPatchType(PatchType_t patchType) { fPatchType = patchType; }
39   void SetSelectionMethod(SelectionMethod_t selectionMethod) { fSelectionMethod = selectionMethod; }
40   void SetThreshold(Double_t threshold) { fThreshold = threshold; }
41   void SetUseSimpleOfflinePatches(Bool_t doUse = kTRUE) { fUseSimpleOffline = doUse; }
42
43   Bool_t IsSelected(const AliEmcalTriggerPatchInfo * const patch) const;
44   Int_t CompareTriggerPatches(const AliEmcalTriggerPatchInfo *first, const AliEmcalTriggerPatchInfo *second) const;
45
46 protected:
47   Double_t GetCutPrimitive(const AliEmcalTriggerPatchInfo * const patch) const;
48   Bool_t SelectPatchType(const AliEmcalTriggerPatchInfo * const patch) const;
49
50   SelectionMethod_t     fSelectionMethod;           // Variable to cut on
51   PatchType_t           fPatchType;                 // Type of the patch to be selected
52   Double_t              fThreshold;                 // Threshold used
53   Bool_t                fUseSimpleOffline;          // Request simple offline patches
54
55   ClassDef(AliEmcalTriggerSelectionCuts, 1);         // Cuts for the EMCAL Trigger selection
56 };
57
58 #endif /* ALIEMCALTRIGGERSELECTIONCUTS_H */