]>
Commit | Line | Data |
---|---|---|
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 | ||
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 */ |