ROOT logo
#ifndef ALIEMCALTRIGGERANATRIGGERDECISION_H
#define ALIEMCALTRIGGERANATRIGGERDECISION_H
/* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// Author: Markus Fasel
#include <TObject.h>

class TClonesArray;
class TString;

namespace EMCalTriggerPtAnalysis {

class AliEMCalTriggerEventData;

class AliEMCalTriggerAnaTriggerDecision : public TObject {
public:
  enum ETATriggerType{
    kTAEMCJHigh       = 0,
    kTAEMCJLow        = 1,
    kTAEMCGHigh       = 2,
    kTAEMCGLow        = 3
  };
  AliEMCalTriggerAnaTriggerDecision();
  virtual ~AliEMCalTriggerAnaTriggerDecision(){}

  void Create(const AliEMCalTriggerEventData * const data);
  Bool_t IsTriggered(ETATriggerType trigger, Bool_t fromPatches = kFALSE) const {
    if(fromPatches) return fDecisionFromPatches[trigger];
    return fDecisionFromString[trigger];
  }
  void SetSwapThresholds(Bool_t doSwap = kTRUE) { fSwapThresholds = doSwap; }
  void SetIsMinBias(Bool_t isMB = kTRUE) { fIsMinBias = isMB; }
  void Reset();

  Bool_t IsMinBias() const { return fIsMinBias; }

protected:
  void MakeDecisionFromString(const TString &triggerstring);
  void MakeDecisionFromPatches(const TClonesArray &listOfPatches);

  Bool_t fSwapThresholds;
  Bool_t fIsMinBias;
  Bool_t fDecisionFromPatches[4];
  Bool_t fDecisionFromString[4];

  ClassDef(AliEMCalTriggerAnaTriggerDecision, 1);     // EMCal trigger decision
};

} /* namespace EMCalTriggerPtAnalysis */

#endif /* ALIEMCALTRIGGERANATRIGGERDECISION_H */
 AliEMCalTriggerAnaTriggerDecision.h:1
 AliEMCalTriggerAnaTriggerDecision.h:2
 AliEMCalTriggerAnaTriggerDecision.h:3
 AliEMCalTriggerAnaTriggerDecision.h:4
 AliEMCalTriggerAnaTriggerDecision.h:5
 AliEMCalTriggerAnaTriggerDecision.h:6
 AliEMCalTriggerAnaTriggerDecision.h:7
 AliEMCalTriggerAnaTriggerDecision.h:8
 AliEMCalTriggerAnaTriggerDecision.h:9
 AliEMCalTriggerAnaTriggerDecision.h:10
 AliEMCalTriggerAnaTriggerDecision.h:11
 AliEMCalTriggerAnaTriggerDecision.h:12
 AliEMCalTriggerAnaTriggerDecision.h:13
 AliEMCalTriggerAnaTriggerDecision.h:14
 AliEMCalTriggerAnaTriggerDecision.h:15
 AliEMCalTriggerAnaTriggerDecision.h:16
 AliEMCalTriggerAnaTriggerDecision.h:17
 AliEMCalTriggerAnaTriggerDecision.h:18
 AliEMCalTriggerAnaTriggerDecision.h:19
 AliEMCalTriggerAnaTriggerDecision.h:20
 AliEMCalTriggerAnaTriggerDecision.h:21
 AliEMCalTriggerAnaTriggerDecision.h:22
 AliEMCalTriggerAnaTriggerDecision.h:23
 AliEMCalTriggerAnaTriggerDecision.h:24
 AliEMCalTriggerAnaTriggerDecision.h:25
 AliEMCalTriggerAnaTriggerDecision.h:26
 AliEMCalTriggerAnaTriggerDecision.h:27
 AliEMCalTriggerAnaTriggerDecision.h:28
 AliEMCalTriggerAnaTriggerDecision.h:29
 AliEMCalTriggerAnaTriggerDecision.h:30
 AliEMCalTriggerAnaTriggerDecision.h:31
 AliEMCalTriggerAnaTriggerDecision.h:32
 AliEMCalTriggerAnaTriggerDecision.h:33
 AliEMCalTriggerAnaTriggerDecision.h:34
 AliEMCalTriggerAnaTriggerDecision.h:35
 AliEMCalTriggerAnaTriggerDecision.h:36
 AliEMCalTriggerAnaTriggerDecision.h:37
 AliEMCalTriggerAnaTriggerDecision.h:38
 AliEMCalTriggerAnaTriggerDecision.h:39
 AliEMCalTriggerAnaTriggerDecision.h:40
 AliEMCalTriggerAnaTriggerDecision.h:41
 AliEMCalTriggerAnaTriggerDecision.h:42
 AliEMCalTriggerAnaTriggerDecision.h:43
 AliEMCalTriggerAnaTriggerDecision.h:44
 AliEMCalTriggerAnaTriggerDecision.h:45
 AliEMCalTriggerAnaTriggerDecision.h:46
 AliEMCalTriggerAnaTriggerDecision.h:47
 AliEMCalTriggerAnaTriggerDecision.h:48
 AliEMCalTriggerAnaTriggerDecision.h:49
 AliEMCalTriggerAnaTriggerDecision.h:50
 AliEMCalTriggerAnaTriggerDecision.h:51
 AliEMCalTriggerAnaTriggerDecision.h:52