]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalQGTagging.h
calculate jet shapes for the true jet in kSubDeriv case
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalQGTagging.h
CommitLineData
cfa7b4df 1#ifndef ALIANALYSISTASKEMCALQGTAGGING_H
2#define ALIANALYSISTASKEMCALQGTAGGING_H
3
4class TH1;
5class TH2;
6class TH3;
7class TH3F;
8class TTree;
9class THnSparse;
10class TClonesArray;
11class TArrayI;
12class AliAnalysisManager;
13class AliJetContainer;
14
15#include "AliAnalysisTaskEmcalJet.h"
16
17
18
19class AliAnalysisTaskEmcalQGTagging : public AliAnalysisTaskEmcalJet {
20 public:
21 enum JetShapeType {
a68b1989 22 kTrue = 0, // generated jets only
23 kTrueDet =1, // detector and generated jets
24 kData = 2, // raw data
25 kDetEmb = 3, //detector embedded jets
cfa7b4df 26 };
27
a68b1989 28 enum JetShapeSub {
29 kNoSub = 0,
30 kConstSub = 1,
31 kDerivSub = 2
32 } ;
33
cfa7b4df 34 AliAnalysisTaskEmcalQGTagging();
35 AliAnalysisTaskEmcalQGTagging(const char *name);
36 virtual ~AliAnalysisTaskEmcalQGTagging();
37
38 void UserCreateOutputObjects();
39 void Terminate(Option_t *option);
40
41 //Setters
42 void SetJetContainer(Int_t c) { fContainer = c ; }
43 void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
44 void SetJetShapeType(JetShapeType t) { fJetShapeType = t ; }
a68b1989 45 void SetJetShapeSub(JetShapeSub t) { fJetShapeSub = t ; }
34b1e79e 46 void SetJetPtThreshold(Float_t f) { fPtThreshold = f ; }
cfa7b4df 47 void SetRMatching(Float_t f) { fRMatching = f ;}
48
49 protected:
50 Bool_t RetrieveEventObjects();
51 Bool_t Run();
52 Bool_t FillHistograms();
53
e5aca8ab 54 Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb);
a68b1989 55 Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb);
56 Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb);
57 Float_t PTD(AliEmcalJet *jet, Int_t jetContNb);
58 Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb);
59 Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb);
60 Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb);
61 Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb);
62 Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb);
e5aca8ab 63 Float_t GetJetNumberOfConstituents(AliEmcalJet *jet,Int_t jetContNb);
a68b1989 64 Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb);
65 Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb);
cfa7b4df 66
67
68 Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
69 Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
a68b1989 70 JetShapeType fJetShapeType; // jet type to be used
71 JetShapeSub fJetShapeSub; // jet subtraction to be used
cfa7b4df 72 Float_t *fShapesVar; // jet shapes used for the tagging
34b1e79e 73 Float_t fPtThreshold;
cfa7b4df 74 Float_t fRMatching;
75
76 TH2F *fPhiJetCorr6;
77 TH2F *fPhiJetCorr7;
78 TH2F *fEtaJetCorr6;
79 TH2F *fEtaJetCorr7;
80 TH2F *fPtJetCorr;
81 TH1F *fPtJet;
82
83
84 TTree *fTreeObservableTagging; //Tree with tagging variables subtracted MC or true MC or raw
85
86 private:
87 AliAnalysisTaskEmcalQGTagging(const AliAnalysisTaskEmcalQGTagging&); // not implemented
88 AliAnalysisTaskEmcalQGTagging &operator=(const AliAnalysisTaskEmcalQGTagging&); // not implemented
89
a68b1989 90 ClassDef(AliAnalysisTaskEmcalQGTagging, 3)
cfa7b4df 91};
92#endif
93