AliPhysics  a0db429 (a0db429)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
AliAnalysisTaskEmcalClustersRef.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALCLUSTERSREF_H
2 #define ALIANALYSISTASKEMCALCLUSTERSREF_H
3 /* Copyright(c) 1998-2015, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 #include "AliAnalysisTaskSE.h"
7 
8 class AliAnalysisUtils;
9 class AliEMCALGeometry;
10 
11 class TArrayD;
12 class TClonesArray;
13 class TList;
14 class TString;
15 
16 namespace EMCalTriggerPtAnalysis {
17 
18 class AliEMCalHistoContainer;
19 
20 class AliAnalysisTaskEmcalClustersRef : public AliAnalysisTaskSE {
21 public:
23  kECREL0 = 0,
34  };
36  AliAnalysisTaskEmcalClustersRef(const char *name);
38 
40  void UserExec(Option_t *);
41  void Terminate(Option_t *) {}
42 
43  void SetClusterContainer(TString clustercontname) { fClusterContainer = clustercontname; }
44  void SetCreateTriggerStringFromPatches(Bool_t doUsePatches) { fTriggerStringFromPatches = doUsePatches; }
45 
46  void SetOfflineEnergyThreshold(EmcalTriggerClass trgcls, double threshold) { fOfflineEnergyThreshold[trgcls] = threshold; }
47 
48  void SetRequestAnalysisUtil(Bool_t doRequest) { fRequestAnalysisUtil = doRequest; }
49 
50 protected:
51 
52  void GetPatchBoundaries(TObject *o, Double_t *boundaries) const;
53  bool IsOfflineSimplePatch(TObject *o) const;
54  bool SelectDCALPatch(TObject *o) const;
55  bool SelectSingleShowerPatch(TObject *o) const;
56  bool SelectJetPatch(TObject *o) const;
57  double GetPatchEnergy(TObject *o) const;
58 
59  void CreateEnergyBinning(TArrayD& binning) const;
60  void CreateLinearBinning(TArrayD& binning, int nbins, double min, double max) const;
61  void FillClusterHistograms(TString triggerclass, double energy, double transversenergy, double eta, double phi, TList *triggerpatches);
62  TString GetFiredTriggerClassesFromPatches(const TClonesArray* triggerpatches) const;
63  void FindPatchesForTrigger(TString triggerclass, const TClonesArray * triggerpatches, TList &foundpatches) const;
64  Bool_t CorrelateToTrigger(Double_t etaclust, Double_t phiclust, TList *triggerpatches) const;
65  Bool_t IsOfflineSelected(EmcalTriggerClass trgcls, const TClonesArray * const triggerpatches) const;
66 
67  AliAnalysisUtils *fAnalysisUtil;
69  AliEMCALGeometry *fGeometry;
71 
75 
76 private:
79 
81 };
82 
83 } /* namespace EMCalTriggerPtAnalysis */
84 
85 #endif /* ALIANALYSISTASKEMCALCLUSTERSREF_H */
void GetPatchBoundaries(TObject *o, Double_t *boundaries) const
void FillClusterHistograms(TString triggerclass, double energy, double transversenergy, double eta, double phi, TList *triggerpatches)
Bool_t CorrelateToTrigger(Double_t etaclust, Double_t phiclust, TList *triggerpatches) const
AliAnalysisTaskEmcalClustersRef & operator=(const AliAnalysisTaskEmcalClustersRef &)
Container class for histograms for the high- charged particle analysis.
void CreateLinearBinning(TArrayD &binning, int nbins, double min, double max) const
ClassDef(AliAnalysisTaskEmcalClustersRef, 1)
energy
void SetOfflineEnergyThreshold(EmcalTriggerClass trgcls, double threshold)
Bool_t IsOfflineSelected(EmcalTriggerClass trgcls, const TClonesArray *const triggerpatches) const
TString GetFiredTriggerClassesFromPatches(const TClonesArray *triggerpatches) const
const Int_t nbins
void FindPatchesForTrigger(TString triggerclass, const TClonesArray *triggerpatches, TList &foundpatches) const