1 #ifndef ALIEMCALTRIGGERTASKGROUP_H
2 #define ALIEMCALTRIGGERTASKGROUP_H
3 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 // Author: Markus Fasel
10 namespace EMCalTriggerPtAnalysis {
12 class AliEMCalTriggerAnaTriggerDecision;
13 class AliEMCalTriggerBinningComponent;
14 class AliEMCalTriggerEventSelection;
15 class AliEMCalTriggerKineCuts;
16 class AliEMCalTriggerTracksAnalysisComponent;
18 class AliEMCalTriggerTaskGroup : public TNamed {
20 AliEMCalTriggerTaskGroup();
21 AliEMCalTriggerTaskGroup(const char *name);
22 virtual ~AliEMCalTriggerTaskGroup();
24 void SetEventSelection(const AliEMCalTriggerEventSelection *sel){ fEventSelection = sel; }
25 void SetGlobalBinning(const AliEMCalTriggerBinningComponent *const binning) { fBinning = binning; }
26 void SetTriggerDecision(const AliEMCalTriggerAnaTriggerDecision *trigger);
27 void SetKineCuts(const AliEMCalTriggerKineCuts *cuts) { fKineCuts = cuts; }
28 void AddAnalysisComponent(AliEMCalTriggerTracksAnalysisComponent * const analysis);
30 TList * InitialiseAnalysisComponents();
31 void Process(const AliEMCalTriggerEventData * const event);
34 TObjArray *fAnalysisComponents;
35 const AliEMCalTriggerEventSelection *fEventSelection;
36 const AliEMCalTriggerBinningComponent *fBinning;
37 const AliEMCalTriggerKineCuts *fKineCuts;
39 ClassDef(AliEMCalTriggerTaskGroup, 1); // Group of analysis components with common event selection
42 } /* namespace EMCalTriggerPtAnalysis */
44 #endif /* ALIEMCALTRIGGERTASKGROUP_H */