]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTagger.h
update histos
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetTagger.h
CommitLineData
8612dfc8 1#ifndef ALIANALYSISTASKEMCALJETTAGGER_H
2#define ALIANALYSISTASKEMCALJETTAGGER_H
3
4class TH1;
5class TH2;
6class TH3;
7class TH3F;
8class THnSparse;
9class TClonesArray;
10class TArrayI;
11class AliAnalysisManager;
12class AliJetContainer;
13
14#include "AliAnalysisTaskEmcalJet.h"
15
16class AliAnalysisTaskEmcalJetTagger : public AliAnalysisTaskEmcalJet {
17 public:
18 enum JetTaggingMethod {
19 kGeo = 0,
20 kFraction = 1
21 };
22
23 enum JetTaggingType {
24 kTag = 0,
25 kClosest = 1
26 };
27
28 AliAnalysisTaskEmcalJetTagger();
29 AliAnalysisTaskEmcalJetTagger(const char *name);
30 virtual ~AliAnalysisTaskEmcalJetTagger();
31
32 void UserCreateOutputObjects();
33 void Terminate(Option_t *option);
34
35 //Setters
36 void SetJetContainerBase(Int_t c) { fContainerBase = c;}
37 void SetJetContainerTag(Int_t c) { fContainerTag = c;}
38
39 void SetJetTaggingType(JetTaggingType t) { fJetTaggingType = t;}
40 void SetJetTaggingMethod(JetTaggingMethod m) { fJetTaggingMethod = m;}
41
ba7663ad 42 void SetMinFractionShared(Double_t f) { fMinFractionShared = f; }
43
44 //Getters
45 Double_t GetFractionSharedPt(const AliEmcalJet *jet1, const AliEmcalJet *jet2) const;
46
8612dfc8 47 protected:
48 Bool_t RetrieveEventObjects();
49 Bool_t Run();
50 Bool_t FillHistograms();
51
52
53 Double_t GetDeltaPhi(const AliEmcalJet* jet1, const AliEmcalJet* jet2);
54 Double_t GetDeltaPhi(Double_t phi1,Double_t phi2);
55 Double_t GetDeltaR(const AliEmcalJet* jet1, const AliEmcalJet* jet2) const;
8612dfc8 56
ba7663ad 57 void MatchJetsGeo(Int_t c1 = -1, Int_t c2 = -1, Int_t iDebug = 0, Float_t maxDist = 0.3, Int_t type = 2, Bool_t bReset = kTRUE);
8612dfc8 58 void ResetTagging(const Int_t c);
59
60 JetTaggingType fJetTaggingType; // jet matching type
61 JetTaggingMethod fJetTaggingMethod; // jet matching method
62
63 Int_t fContainerBase; // jets to be tagged
64 Int_t fContainerTag; // jets used for tagging
ba7663ad 65
66 Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
8612dfc8 67
68 private:
69 Bool_t fMatchingDone; // flag to indicate if matching is done or not
70 TH3F **fh3PtJet1VsDeltaEtaDeltaPhi; //!pt jet 1 vs deta vs dphi
71 TH2F **fh2PtJet1VsDeltaR; //!pt jet 1 vs dR
ba7663ad 72 TH2F **fh2PtJet2VsFraction; //!pt jet 1 vs shared fraction
8612dfc8 73
74 TH2F **fh2PtJet1VsLeadPtAllSel; //!all jets after std selection
75 TH2F **fh2PtJet1VsLeadPtTagged; //!tagged jets
76 TH2F **fh2PtJet1VsPtJet2; //!pT of base jet vs tagged jet
f404327b 77 TH2F **fh2PtJet2VsRelPt; //!pT of tagged jet vs pt base jet / pt tagged jet
78
396ffc82
MV
79 TH3F *fh3PtJetDEtaDPhiConst; //!pt jet vs delta eta vs delta phi of constituents
80 TH2F *fh2PtJetDRConst; //!pt jet vs delta R of constituents
81 TH3F *fh3PtJetAreaDRConst; //!pt jet vs Area vs delta R of constituents
82
8612dfc8 83 AliAnalysisTaskEmcalJetTagger(const AliAnalysisTaskEmcalJetTagger&); // not implemented
84 AliAnalysisTaskEmcalJetTagger &operator=(const AliAnalysisTaskEmcalJetTagger&); // not implemented
85
f404327b 86 ClassDef(AliAnalysisTaskEmcalJetTagger, 5)
8612dfc8 87};
88#endif
89