AliPhysics  a9863a5 (a9863a5)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskParticleRandomizer.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKPARTICLERANDOMIZER_H
2 #define ALIANALYSISTASKPARTICLERANDOMIZER_H
3 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
17 //
18 class TClonesArray;
19 class TString;
20 class TRandom3;
21 class TH2D;
22 
24 public:
27  virtual void UserCreateOutputObjects();
28  virtual void Terminate(Option_t *) {}
29 
30  // ###### Configuration setters
31  void SetRandomizeInPhi(Bool_t val) {fRandomizeInPhi = val;}
32  void SetRandomizeInEta(Bool_t val) {fRandomizeInEta = val;}
33  void SetRandomizeInTheta(Bool_t val) {fRandomizeInTheta = val;}
34  void SetRandomizeInPt(Bool_t val) {fRandomizeInPt = val;}
35 
36  void SetPhiMin(Double_t val) {fMinPhi = val;}
37  void SetPhiMax(Double_t val) {fMaxPhi = val;}
38  void SetEtaMin(Double_t val) {fMinEta = val;}
39  void SetEtaMax(Double_t val) {fMaxEta = val;}
40  void SetPtMin(Double_t val) {fMinPt = val;}
41  void SetPtMax(Double_t val) {fMaxPt = val;}
42  void SetDistributionV2(TH2D* dist) {fDistributionV2 = dist;}
43  void SetDistributionV3(TH2D* dist) {fDistributionV3 = dist;}
44  void ActivateJetRemoval(const char* arrName, Double_t threshold, const char* rhoObj) {fJetRemovalArrayName = arrName; fJetRemovalPtThreshold = threshold; fJetRemovalRhoObj = rhoObj;}
45 
46  void SetInputArrayName(const char* name) {fInputArrayName = name;}
47  void SetOutputArrayName(const char* name) {fOutputArrayName = name;}
48 
49 protected:
50  Bool_t Run();
51  void ExecOnce();
52  Double_t AddFlow(Double_t phi, Double_t pt);
53 
54  Bool_t fRandomizeInPhi;
55  Bool_t fRandomizeInEta;
57  Bool_t fRandomizeInPt;
58 
59  Double_t fMinPhi;
60  Double_t fMaxPhi;
61  Double_t fMinEta;
62  Double_t fMaxEta;
63  Double_t fMinPt;
64  Double_t fMaxPt;
65 
68 
69  TString fInputArrayName;
70  TString fOutputArrayName;
71 
72  TClonesArray* fInputArray;
73  TClonesArray* fOutputArray;
74 
77  TClonesArray* fJetRemovalArray;
79 
80  Double_t fRandomPsi3;
81  TRandom3* fRandom;
82 
83  Bool_t IsParticleInJet(Int_t part);
84  Double_t GetExternalRho();
85 
87 };
88 
89 #endif
Double_t fMaxPt
range for Pt for randomization
Double_t fMinEta
range for phi for randomization
Bool_t fRandomizeInTheta
randomize the particle's position in pseudorap
TRandom3 * fRandom
eventwise calculated psi 3
TClonesArray * fInputArray
Name of the destination TClonesArray.
ClassDef(AliAnalysisTaskParticleRandomizer, 5)
Base task in the EMCAL framework.
Bool_t fRandomizeInPt
randomize the particle's position in theta
Double_t fMinPhi
randomize the particle's position in Pt
TClonesArray * fJetRemovalArray
Name of the TClonesArray containing jets for removal that will be loaded.
TString fOutputArrayName
Name of the TClonesArray that will be loaded.
TClonesArray * fOutputArray
! Destination TClonesArray
TString fJetRemovalArrayName
Name of array to rho object.
Double_t fMinPt
range for eta for randomization
TString fInputArrayName
Distribution for v3 in bins of pt and centrality.
Double_t fMaxPhi
range for phi for randomization
TH2D * fDistributionV2
range for Pt for randomization
Double_t fRandomPsi3
threshold at which jets given in fInputJetArray will be removed
void ActivateJetRemoval(const char *arrName, Double_t threshold, const char *rhoObj)
Double_t fMaxEta
range for eta for randomization
Bool_t fRandomizeInEta
randomize the particle's position in azimuth
TH2D * fDistributionV3
Distribution for v2 in bins of pt and centrality.