#ifndef ALIANALYSISTASKEMCALQGTAGGING_H
#define ALIANALYSISTASKEMCALQGTAGGING_H
class TH1;
class TH2;
class TH3;
class TH3F;
class TTree;
class THnSparse;
class TClonesArray;
class TArrayI;
class AliAnalysisManager;
class AliJetContainer;
#include "AliAnalysisTaskEmcalJet.h"
class AliAnalysisTaskEmcalQGTagging : public AliAnalysisTaskEmcalJet {
public:
enum JetShapeType {
kTrue = 0,
kTrueDet =1,
kData = 2,
kDetEmb = 3,
};
enum JetShapeSub {
kNoSub = 0,
kConstSub = 1,
kDerivSub = 2
} ;
AliAnalysisTaskEmcalQGTagging();
AliAnalysisTaskEmcalQGTagging(const char *name);
virtual ~AliAnalysisTaskEmcalQGTagging();
void UserCreateOutputObjects();
void Terminate(Option_t *option);
void SetJetContainer(Int_t c) { fContainer = c ; }
void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
void SetJetShapeType(JetShapeType t) { fJetShapeType = t ; }
void SetJetShapeSub(JetShapeSub t) { fJetShapeSub = t ; }
void SetJetPtThreshold(Float_t f) { fPtThreshold = f ; }
void SetRMatching(Float_t f) { fRMatching = f ;}
protected:
Bool_t RetrieveEventObjects();
Bool_t Run();
Bool_t FillHistograms();
Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb);
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb);
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb);
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb);
Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb);
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb);
Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb);
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb);
Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb);
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet,Int_t jetContNb);
Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb);
Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb);
Int_t fContainer;
Float_t fMinFractionShared;
JetShapeType fJetShapeType;
JetShapeSub fJetShapeSub;
Float_t *fShapesVar;
Float_t fPtThreshold;
Float_t fRMatching;
TH2F *fh2ResponseUW;
TH2F *fh2ResponseW;
TH2F *fPhiJetCorr6;
TH2F *fPhiJetCorr7;
TH2F *fEtaJetCorr6;
TH2F *fEtaJetCorr7;
TH2F *fPtJetCorr;
TH1F *fPtJet;
TTree *fTreeObservableTagging;
private:
AliAnalysisTaskEmcalQGTagging(const AliAnalysisTaskEmcalQGTagging&);
AliAnalysisTaskEmcalQGTagging &operator=(const AliAnalysisTaskEmcalQGTagging&);
ClassDef(AliAnalysisTaskEmcalQGTagging, 3)
};
#endif
AliAnalysisTaskEmcalQGTagging.h:1 AliAnalysisTaskEmcalQGTagging.h:2 AliAnalysisTaskEmcalQGTagging.h:3 AliAnalysisTaskEmcalQGTagging.h:4 AliAnalysisTaskEmcalQGTagging.h:5 AliAnalysisTaskEmcalQGTagging.h:6 AliAnalysisTaskEmcalQGTagging.h:7 AliAnalysisTaskEmcalQGTagging.h:8 AliAnalysisTaskEmcalQGTagging.h:9 AliAnalysisTaskEmcalQGTagging.h:10 AliAnalysisTaskEmcalQGTagging.h:11 AliAnalysisTaskEmcalQGTagging.h:12 AliAnalysisTaskEmcalQGTagging.h:13 AliAnalysisTaskEmcalQGTagging.h:14 AliAnalysisTaskEmcalQGTagging.h:15 AliAnalysisTaskEmcalQGTagging.h:16 AliAnalysisTaskEmcalQGTagging.h:17 AliAnalysisTaskEmcalQGTagging.h:18 AliAnalysisTaskEmcalQGTagging.h:19 AliAnalysisTaskEmcalQGTagging.h:20 AliAnalysisTaskEmcalQGTagging.h:21 AliAnalysisTaskEmcalQGTagging.h:22 AliAnalysisTaskEmcalQGTagging.h:23 AliAnalysisTaskEmcalQGTagging.h:24 AliAnalysisTaskEmcalQGTagging.h:25 AliAnalysisTaskEmcalQGTagging.h:26 AliAnalysisTaskEmcalQGTagging.h:27 AliAnalysisTaskEmcalQGTagging.h:28 AliAnalysisTaskEmcalQGTagging.h:29 AliAnalysisTaskEmcalQGTagging.h:30 AliAnalysisTaskEmcalQGTagging.h:31 AliAnalysisTaskEmcalQGTagging.h:32 AliAnalysisTaskEmcalQGTagging.h:33 AliAnalysisTaskEmcalQGTagging.h:34 AliAnalysisTaskEmcalQGTagging.h:35 AliAnalysisTaskEmcalQGTagging.h:36 AliAnalysisTaskEmcalQGTagging.h:37 AliAnalysisTaskEmcalQGTagging.h:38 AliAnalysisTaskEmcalQGTagging.h:39 AliAnalysisTaskEmcalQGTagging.h:40 AliAnalysisTaskEmcalQGTagging.h:41 AliAnalysisTaskEmcalQGTagging.h:42 AliAnalysisTaskEmcalQGTagging.h:43 AliAnalysisTaskEmcalQGTagging.h:44 AliAnalysisTaskEmcalQGTagging.h:45 AliAnalysisTaskEmcalQGTagging.h:46 AliAnalysisTaskEmcalQGTagging.h:47 AliAnalysisTaskEmcalQGTagging.h:48 AliAnalysisTaskEmcalQGTagging.h:49 AliAnalysisTaskEmcalQGTagging.h:50 AliAnalysisTaskEmcalQGTagging.h:51 AliAnalysisTaskEmcalQGTagging.h:52 AliAnalysisTaskEmcalQGTagging.h:53 AliAnalysisTaskEmcalQGTagging.h:54 AliAnalysisTaskEmcalQGTagging.h:55 AliAnalysisTaskEmcalQGTagging.h:56 AliAnalysisTaskEmcalQGTagging.h:57 AliAnalysisTaskEmcalQGTagging.h:58 AliAnalysisTaskEmcalQGTagging.h:59 AliAnalysisTaskEmcalQGTagging.h:60 AliAnalysisTaskEmcalQGTagging.h:61 AliAnalysisTaskEmcalQGTagging.h:62 AliAnalysisTaskEmcalQGTagging.h:63 AliAnalysisTaskEmcalQGTagging.h:64 AliAnalysisTaskEmcalQGTagging.h:65 AliAnalysisTaskEmcalQGTagging.h:66 AliAnalysisTaskEmcalQGTagging.h:67 AliAnalysisTaskEmcalQGTagging.h:68 AliAnalysisTaskEmcalQGTagging.h:69 AliAnalysisTaskEmcalQGTagging.h:70 AliAnalysisTaskEmcalQGTagging.h:71 AliAnalysisTaskEmcalQGTagging.h:72 AliAnalysisTaskEmcalQGTagging.h:73 AliAnalysisTaskEmcalQGTagging.h:74 AliAnalysisTaskEmcalQGTagging.h:75 AliAnalysisTaskEmcalQGTagging.h:76 AliAnalysisTaskEmcalQGTagging.h:77 AliAnalysisTaskEmcalQGTagging.h:78 AliAnalysisTaskEmcalQGTagging.h:79 AliAnalysisTaskEmcalQGTagging.h:80 AliAnalysisTaskEmcalQGTagging.h:81 AliAnalysisTaskEmcalQGTagging.h:82 AliAnalysisTaskEmcalQGTagging.h:83 AliAnalysisTaskEmcalQGTagging.h:84 AliAnalysisTaskEmcalQGTagging.h:85 AliAnalysisTaskEmcalQGTagging.h:86 AliAnalysisTaskEmcalQGTagging.h:87 AliAnalysisTaskEmcalQGTagging.h:88 AliAnalysisTaskEmcalQGTagging.h:89 AliAnalysisTaskEmcalQGTagging.h:90 AliAnalysisTaskEmcalQGTagging.h:91 AliAnalysisTaskEmcalQGTagging.h:92 AliAnalysisTaskEmcalQGTagging.h:93 AliAnalysisTaskEmcalQGTagging.h:94 AliAnalysisTaskEmcalQGTagging.h:95 AliAnalysisTaskEmcalQGTagging.h:96