AliPhysics  master (3d17d9d)
AliAnalysisTaskFakeJets.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKFAKEJETS_H
2 #define ALIANALYSISTASKFAKEJETS_H
3 
4 class TH1;
5 class TH2;
6 class TH3;
7 class TH3F;
8 class TTree;
9 class THnSparse;
10 class TClonesArray;
11 class TArrayI;
12 class AliAnalysisManager;
13 class AliJetContainer;
14 class AliEmcalJetFinder;
16 
17 
18 
20  public:
21 
22  enum JetShapeType {
23  kTrue = 0, // generated jets only
24  kTrueDet =1, // detector and generated jets
25  kData = 2, // raw data
26  kDetEmb = 3, //detector embedded jets
30  };
31  enum JetShapeSub {
32  kNoSub = 0,
33  kConstSub = 1,
34  kDerivSub = 2
35  };
38  kRecoil = 1
39  };
40 
44  };
45 
47  AliAnalysisTaskFakeJets(const char *name);
48  virtual ~AliAnalysisTaskFakeJets();
49 
51  void Terminate(Option_t *option);
52 
53  //Setters
60  void SetRMatching(Float_t f) { fRMatching = f ;}
61  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
69  void SetMinCentrality(Float_t t) { fCentMin = t ; }
70  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
72  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
73  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
75  protected:
77  Bool_t Run();
79 
80  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb);
81  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb);
82  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb);
83  Float_t AngularitySquared(AliEmcalJet *jet, Int_t jetContNb);
85 
86  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb);
87  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb);
88  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb);
89  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb);
90  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb);
91  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb);
93  Float_t GetJetHardTrack(AliEmcalJet *jet, Int_t jetContNb);
94  Float_t HardTrack(AliEmcalJet *jet, Int_t jetContNb);
96  Float_t SecHardTrack(AliEmcalJet *jet, Int_t jetContNb);
97  Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb);
98  Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb);
99  AliEmcalJetFinder *Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char* Name);
101  Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B);
102  Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer);
103 
104  Double_t SubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer);
105  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
107 
108  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
109  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
110  JetShapeType fJetShapeType; // jet type to be used
111  JetShapeSub fJetShapeSub; // jet subtraction to be used
112  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
113  Float_t *fShapesVar; // jet shapes used for the tagging
116 
117  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
119  Float_t fangWindowRecoil; //angular window for btb recoil analysis
120  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
121  Float_t fHolePos; //position in radians of the bad TPC sector
122  Float_t fHoleWidth; //width of the hole in radians
123  Bool_t fCentSelectOn; // switch on/off centrality selection
124  Float_t fCentMin; // min centrality value
125  Float_t fCentMax; // max centrality value
126  Bool_t fOneConstSelectOn; // switch on/off one constituent selection
137  TH1F *fPtJet;
138  TH2F *fhpTjetpT; //control p[lot fo the recoil analysis
139  TH1F *fhPt;
140  TH1F *fhPhi;
142 
143  TTree *fTreeFakeJets; //Tree with tagging variables subtracted MC or true MC or raw
144 
145  private:
146  AliAnalysisTaskFakeJets(const AliAnalysisTaskFakeJets&); // not implemented
147  AliAnalysisTaskFakeJets &operator=(const AliAnalysisTaskFakeJets&); // not implemented
148 
149  ClassDef(AliAnalysisTaskFakeJets, 6)
150 };
151 #endif
152 
void SetMinFractionShared(Double_t f)
Float_t GetJetSecHardTrack(AliEmcalJet *jet, Int_t jetContNb)
void SetHoleWidth(Float_t holewidth)
double Double_t
Definition: External.C:58
Definition: External.C:260
Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb)
Definition: External.C:236
Definition: External.C:244
Int_t SelectTrigger(Float_t minpT, Float_t maxpT)
AliEmcalJetFinder * Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char *Name)
void Terminate(Option_t *option)
void SetJetShapeSub(JetShapeSub t)
TCanvas * c
Definition: TestFitELoss.C:172
Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B)
Float_t GetJetHardTrack(AliEmcalJet *jet, Int_t jetContNb)
Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb)
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t HardTrack(AliEmcalJet *jet, Int_t jetContNb)
Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer)
Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb)
Bool_t FillHistograms()
Function filling histograms.
int Int_t
Definition: External.C:63
Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb)
void SetJetSelection(JetSelectionType t)
float Float_t
Definition: External.C:68
Double_t SubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer)
void SetDerivativeSubtractionOrder(Int_t c)
Float_t AngularitySquared(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetMass(AliEmcalJet *jet, Int_t jetContNb)
void SetPtTriggerSelections(Float_t minpT, Float_t maxpT)
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb)
void SetHolePos(Float_t poshole)
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb)
void SetSemigoodCorrect(Int_t yesno)
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb)
Double_t SubJetOrdering(AliEmcalJet *Jet, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t Type, Bool_t Index)
Definition: External.C:220
AliAnalysisTaskFakeJets & operator=(const AliAnalysisTaskFakeJets &)
void SetAngularWindowRecoilJet(Float_t t)
Float_t GetJetAngularitySquared(AliEmcalJet *jet, Int_t jetContNb)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet, Int_t jetContNb)
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
Float_t SecHardTrack(AliEmcalJet *jet, Int_t jetContNb)
void SetJetShapeType(JetShapeType t)
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb)
Double_t RelativePhi(Double_t mphi, Double_t vphi)
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
Container for jet within the EMCAL jet framework.
Definition: External.C:196