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

// Author: Markus Fasel
#include <vector>
#include <string>
#include <TNamed.h>
#include "AliEMCalHistoContainer.h"

namespace EMCalTriggerPtAnalysis {

class AliEMCalTriggerAnaTriggerDecision;
class AliEMCalTriggerBinningComponent;
class AliEMCalTriggerBinningDimension;
class AliEMCalTriggerEventData;
class AliEMCalTriggerKineCuts;

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

  virtual void CreateHistos();
  virtual void Process(const AliEMCalTriggerEventData * const data) = 0;

  THashList *GetHistList() const { return fHistos->GetListOfHistograms(); }
  void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
  void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
  void SetTriggerDecision(const AliEMCalTriggerAnaTriggerDecision *trigger) { fTriggerDecision = trigger; }

protected:
  TAxis *DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning);
  TAxis *DefineAxis(const char *name, int nbins, double min, double max);
  void GetMachingTriggerNames(std::vector<std::string> &triggernames, Bool_t usePatches);

  AliEMCalHistoContainer                      *fHistos;
  const AliEMCalTriggerBinningComponent       *fBinning;
  const AliEMCalTriggerKineCuts               *fKineCuts;
  const AliEMCalTriggerAnaTriggerDecision     *fTriggerDecision;

  ClassDef(AliEMCalTriggerTracksAnalysisComponent, 1)
};

} /* namespace EMCalTriggerPtAnalysis */

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