#ifndef ALIANALYSISTASKEMCALDIJETBASE_H
#define ALIANALYSISTASKEMCALDIJETBASE_H
class TH1;
class TH2;
class TH3;
class TH3F;
class THnSparse;
class TClonesArray;
class TArrayI;
class AliAnalysisManager;
class AliJetContainer;
#include "AliAnalysisTaskEmcalJet.h"
class AliAnalysisTaskEmcalDiJetBase : public AliAnalysisTaskEmcalJet {
public:
enum JetFullChargedMatchingType {
kFraction = 0,
kGeo = 1,
kNoMatching = 3
};
enum JetCorrelationType {
kCorrelateAll = 0,
kCorrelateTwo = 1,
kCorrelateLS = 2
};
AliAnalysisTaskEmcalDiJetBase();
AliAnalysisTaskEmcalDiJetBase(const char *name);
virtual ~AliAnalysisTaskEmcalDiJetBase();
void UserCreateOutputObjects();
void Terminate(Option_t *option);
Bool_t SelectEvent();
void SetDebug(Int_t d) { fDebug = d;}
void SetJetCorrelationType(JetCorrelationType c) { fJetCorrelationType = c; }
void SetFullChargedMatchingType(JetFullChargedMatchingType m) { fJetFullChargedMatchingType = m; }
void SetTriggerClass(const char *n) { fTriggerClass = n; }
void SetContainerFull(Int_t c) { fContainerFull = c;}
void SetContainerCharged(Int_t c) { fContainerCharged = c;}
void SetContainerFullMC(Int_t c) { fContainerFullMC = c;}
void SetContainerChargedMC(Int_t c) { fContainerChargedMC = c;}
void SetRhoType(Int_t i) { fRhoType = i;}
void SetDoChargedCharged(Bool_t b) { fDoChargedCharged = b;}
void SetDoFullCharged(Bool_t b) { fDoFullCharged = b;}
void SetDoFullFull(Bool_t b) { fDoFullFull = b;}
void SetPtMinTriggerJet(Double_t ptmin) { fPtMinTriggerJet = ptmin;}
void SetDoPtBias(Bool_t b) { fDoPtBias = b;}
void SetMinSharedFraction(Double_t f) { fMinFractionShared = f;}
void ResetMatchFlag() { fMatchingDone = kFALSE; }
Double_t GetDeltaPhi(const AliEmcalJet* jet1, const AliEmcalJet* jet2);
Double_t GetDeltaPhi(Double_t phi1,Double_t phi2);
Double_t GetDeltaR(const AliEmcalJet* jet1, const AliEmcalJet* jet2) const;
Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const;
Double_t GetZ(Double_t trkPx, Double_t trkPy, Double_t trkPz, Double_t jetPx, Double_t jetPy, Double_t jetPz) const;
AliEmcalJet* GetLeadingJetOppositeHemisphere(Int_t type, Int_t typea, const AliEmcalJet *jetTrig);
AliEmcalJet* GetSecondLeadingJetOppositeHemisphere(Int_t type, Int_t typea, const AliEmcalJet *jetTrig);
protected:
virtual Bool_t RetrieveEventObjects();
Bool_t IsSameJet(Int_t jt, Int_t ja, Int_t type, Bool_t isMC = kFALSE);
Double_t GetJetPt(const AliEmcalJet *jet, Int_t type);
void MatchJetsGeo(Int_t cFull, Int_t cCharged,
Int_t iDebug = 0, Float_t maxDist = 0.3, Int_t type = 0);
Double_t GetFractionSharedPt(const AliEmcalJet *jetFull, const AliEmcalJet *jetCharged) const;
void SetChargedFractionIndex();
void SetChargedFractionIndexMC();
Bool_t fDebug;
JetCorrelationType fJetCorrelationType;
JetFullChargedMatchingType fJetFullChargedMatchingType;
TString fTriggerClass;
Int_t fContainerCharged;
Int_t fContainerFull;
Int_t fContainerChargedMC;
Int_t fContainerFullMC;
Int_t fRhoType;
Double_t fRhoChVal;
Double_t fRhoFullVal;
Bool_t fDoChargedCharged;
Bool_t fDoFullCharged;
Bool_t fDoFullFull;
Double_t fPtMinTriggerJet;
Bool_t fDoPtBias;
Double_t fMinFractionShared;
Bool_t fMatchingDone;
TArrayI faFullFracIndex;
TArrayI faFullFracIndexMC;
TH1F *fhNEvents;
TH1 *fHistTrialsSelEvents;
private:
AliAnalysisTaskEmcalDiJetBase(const AliAnalysisTaskEmcalDiJetBase&);
AliAnalysisTaskEmcalDiJetBase &operator=(const AliAnalysisTaskEmcalDiJetBase&);
ClassDef(AliAnalysisTaskEmcalDiJetBase, 6)
};
#endif
AliAnalysisTaskEmcalDiJetBase.h:1 AliAnalysisTaskEmcalDiJetBase.h:2 AliAnalysisTaskEmcalDiJetBase.h:3 AliAnalysisTaskEmcalDiJetBase.h:4 AliAnalysisTaskEmcalDiJetBase.h:5 AliAnalysisTaskEmcalDiJetBase.h:6 AliAnalysisTaskEmcalDiJetBase.h:7 AliAnalysisTaskEmcalDiJetBase.h:8 AliAnalysisTaskEmcalDiJetBase.h:9 AliAnalysisTaskEmcalDiJetBase.h:10 AliAnalysisTaskEmcalDiJetBase.h:11 AliAnalysisTaskEmcalDiJetBase.h:12 AliAnalysisTaskEmcalDiJetBase.h:13 AliAnalysisTaskEmcalDiJetBase.h:14 AliAnalysisTaskEmcalDiJetBase.h:15 AliAnalysisTaskEmcalDiJetBase.h:16 AliAnalysisTaskEmcalDiJetBase.h:17 AliAnalysisTaskEmcalDiJetBase.h:18 AliAnalysisTaskEmcalDiJetBase.h:19 AliAnalysisTaskEmcalDiJetBase.h:20 AliAnalysisTaskEmcalDiJetBase.h:21 AliAnalysisTaskEmcalDiJetBase.h:22 AliAnalysisTaskEmcalDiJetBase.h:23 AliAnalysisTaskEmcalDiJetBase.h:24 AliAnalysisTaskEmcalDiJetBase.h:25 AliAnalysisTaskEmcalDiJetBase.h:26 AliAnalysisTaskEmcalDiJetBase.h:27 AliAnalysisTaskEmcalDiJetBase.h:28 AliAnalysisTaskEmcalDiJetBase.h:29 AliAnalysisTaskEmcalDiJetBase.h:30 AliAnalysisTaskEmcalDiJetBase.h:31 AliAnalysisTaskEmcalDiJetBase.h:32 AliAnalysisTaskEmcalDiJetBase.h:33 AliAnalysisTaskEmcalDiJetBase.h:34 AliAnalysisTaskEmcalDiJetBase.h:35 AliAnalysisTaskEmcalDiJetBase.h:36 AliAnalysisTaskEmcalDiJetBase.h:37 AliAnalysisTaskEmcalDiJetBase.h:38 AliAnalysisTaskEmcalDiJetBase.h:39 AliAnalysisTaskEmcalDiJetBase.h:40 AliAnalysisTaskEmcalDiJetBase.h:41 AliAnalysisTaskEmcalDiJetBase.h:42 AliAnalysisTaskEmcalDiJetBase.h:43 AliAnalysisTaskEmcalDiJetBase.h:44 AliAnalysisTaskEmcalDiJetBase.h:45 AliAnalysisTaskEmcalDiJetBase.h:46 AliAnalysisTaskEmcalDiJetBase.h:47 AliAnalysisTaskEmcalDiJetBase.h:48 AliAnalysisTaskEmcalDiJetBase.h:49 AliAnalysisTaskEmcalDiJetBase.h:50 AliAnalysisTaskEmcalDiJetBase.h:51 AliAnalysisTaskEmcalDiJetBase.h:52 AliAnalysisTaskEmcalDiJetBase.h:53 AliAnalysisTaskEmcalDiJetBase.h:54 AliAnalysisTaskEmcalDiJetBase.h:55 AliAnalysisTaskEmcalDiJetBase.h:56 AliAnalysisTaskEmcalDiJetBase.h:57 AliAnalysisTaskEmcalDiJetBase.h:58 AliAnalysisTaskEmcalDiJetBase.h:59 AliAnalysisTaskEmcalDiJetBase.h:60 AliAnalysisTaskEmcalDiJetBase.h:61 AliAnalysisTaskEmcalDiJetBase.h:62 AliAnalysisTaskEmcalDiJetBase.h:63 AliAnalysisTaskEmcalDiJetBase.h:64 AliAnalysisTaskEmcalDiJetBase.h:65 AliAnalysisTaskEmcalDiJetBase.h:66 AliAnalysisTaskEmcalDiJetBase.h:67 AliAnalysisTaskEmcalDiJetBase.h:68 AliAnalysisTaskEmcalDiJetBase.h:69 AliAnalysisTaskEmcalDiJetBase.h:70 AliAnalysisTaskEmcalDiJetBase.h:71 AliAnalysisTaskEmcalDiJetBase.h:72 AliAnalysisTaskEmcalDiJetBase.h:73 AliAnalysisTaskEmcalDiJetBase.h:74 AliAnalysisTaskEmcalDiJetBase.h:75 AliAnalysisTaskEmcalDiJetBase.h:76 AliAnalysisTaskEmcalDiJetBase.h:77 AliAnalysisTaskEmcalDiJetBase.h:78 AliAnalysisTaskEmcalDiJetBase.h:79 AliAnalysisTaskEmcalDiJetBase.h:80 AliAnalysisTaskEmcalDiJetBase.h:81 AliAnalysisTaskEmcalDiJetBase.h:82 AliAnalysisTaskEmcalDiJetBase.h:83 AliAnalysisTaskEmcalDiJetBase.h:84 AliAnalysisTaskEmcalDiJetBase.h:85 AliAnalysisTaskEmcalDiJetBase.h:86 AliAnalysisTaskEmcalDiJetBase.h:87 AliAnalysisTaskEmcalDiJetBase.h:88 AliAnalysisTaskEmcalDiJetBase.h:89 AliAnalysisTaskEmcalDiJetBase.h:90 AliAnalysisTaskEmcalDiJetBase.h:91 AliAnalysisTaskEmcalDiJetBase.h:92 AliAnalysisTaskEmcalDiJetBase.h:93 AliAnalysisTaskEmcalDiJetBase.h:94 AliAnalysisTaskEmcalDiJetBase.h:95 AliAnalysisTaskEmcalDiJetBase.h:96 AliAnalysisTaskEmcalDiJetBase.h:97 AliAnalysisTaskEmcalDiJetBase.h:98 AliAnalysisTaskEmcalDiJetBase.h:99 AliAnalysisTaskEmcalDiJetBase.h:100 AliAnalysisTaskEmcalDiJetBase.h:101 AliAnalysisTaskEmcalDiJetBase.h:102 AliAnalysisTaskEmcalDiJetBase.h:103 AliAnalysisTaskEmcalDiJetBase.h:104 AliAnalysisTaskEmcalDiJetBase.h:105 AliAnalysisTaskEmcalDiJetBase.h:106 AliAnalysisTaskEmcalDiJetBase.h:107 AliAnalysisTaskEmcalDiJetBase.h:108 AliAnalysisTaskEmcalDiJetBase.h:109 AliAnalysisTaskEmcalDiJetBase.h:110 AliAnalysisTaskEmcalDiJetBase.h:111 AliAnalysisTaskEmcalDiJetBase.h:112 AliAnalysisTaskEmcalDiJetBase.h:113 AliAnalysisTaskEmcalDiJetBase.h:114 AliAnalysisTaskEmcalDiJetBase.h:115 AliAnalysisTaskEmcalDiJetBase.h:116 AliAnalysisTaskEmcalDiJetBase.h:117 AliAnalysisTaskEmcalDiJetBase.h:118 AliAnalysisTaskEmcalDiJetBase.h:119 AliAnalysisTaskEmcalDiJetBase.h:120 AliAnalysisTaskEmcalDiJetBase.h:121 AliAnalysisTaskEmcalDiJetBase.h:122 AliAnalysisTaskEmcalDiJetBase.h:123 AliAnalysisTaskEmcalDiJetBase.h:124 AliAnalysisTaskEmcalDiJetBase.h:125