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

// Author: Markus Fasel
#include <TNamed.h>
#include <TObjArray.h>

namespace EMCalTriggerPtAnalysis {

class AliEMCalTriggerAnaTriggerDecision;
class AliEMCalTriggerBinningComponent;
class AliEMCalTriggerEventSelection;
class AliEMCalTriggerKineCuts;
class AliEMCalTriggerTracksAnalysisComponent;

class AliEMCalTriggerTaskGroup : public TNamed {
public:
  AliEMCalTriggerTaskGroup();
  AliEMCalTriggerTaskGroup(const char *name);
  virtual ~AliEMCalTriggerTaskGroup();

  void SetEventSelection(const AliEMCalTriggerEventSelection *sel){ fEventSelection = sel; }
  void SetGlobalBinning(const AliEMCalTriggerBinningComponent *const binning) { fBinning = binning; }
  void SetTriggerDecision(const AliEMCalTriggerAnaTriggerDecision *trigger);
  void SetKineCuts(const AliEMCalTriggerKineCuts *cuts) { fKineCuts = cuts; }
  void AddAnalysisComponent(AliEMCalTriggerTracksAnalysisComponent * const analysis);

  TList * InitialiseAnalysisComponents();
  void Process(const AliEMCalTriggerEventData * const event);

protected:
  TObjArray                                   *fAnalysisComponents;
  const AliEMCalTriggerEventSelection         *fEventSelection;
  const AliEMCalTriggerBinningComponent       *fBinning;
  const AliEMCalTriggerKineCuts               *fKineCuts;

  ClassDef(AliEMCalTriggerTaskGroup, 1);    // Group of analysis components with common event selection
};

} /* namespace EMCalTriggerPtAnalysis */

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