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 */
6 // Author: Markus Fasel
10 class AliEmcalTriggerPatchInfo;
12 class AliEmcalTriggerSelectionCuts: public TObject {
14 enum SelectionMethod_t {
30 AliEmcalTriggerSelectionCuts();
31 virtual ~AliEmcalTriggerSelectionCuts() {}
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; }
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; }
43 Bool_t IsSelected(const AliEmcalTriggerPatchInfo * const patch) const;
44 Int_t CompareTriggerPatches(const AliEmcalTriggerPatchInfo *first, const AliEmcalTriggerPatchInfo *second) const;
47 Double_t GetCutPrimitive(const AliEmcalTriggerPatchInfo * const patch) const;
48 Bool_t SelectPatchType(const AliEmcalTriggerPatchInfo * const patch) const;
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
55 ClassDef(AliEmcalTriggerSelectionCuts, 1); // Cuts for the EMCAL Trigger selection
58 #endif /* ALIEMCALTRIGGERSELECTIONCUTS_H */