]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliEmcalTriggerSelectionCuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalTriggerSelectionCuts.h
CommitLineData
d77d1945 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
10class AliEmcalTriggerPatchInfo;
11
12class AliEmcalTriggerSelectionCuts: public TObject {
13public:
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
46protected:
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 */