]>
Commit | Line | Data |
---|---|---|
2949a2ec | 1 | #ifndef ALIJETRESPONSEMAKER_H |
2 | #define ALIJETRESPONSEMAKER_H | |
3 | ||
7549c451 | 4 | // $Id$ |
2949a2ec | 5 | |
1ee1b5b8 | 6 | class AliGenPythiaEventHeader; |
2949a2ec | 7 | class TClonesArray; |
8 | class TH1F; | |
9 | class TH2F; | |
10 | ||
6fd5039f | 11 | #include "AliAnalysisTaskEmcalJet.h" |
2949a2ec | 12 | |
6fd5039f | 13 | class AliJetResponseMaker : public AliAnalysisTaskEmcalJet { |
2949a2ec | 14 | public: |
15 | AliJetResponseMaker(); | |
16 | AliJetResponseMaker(const char *name); | |
17 | virtual ~AliJetResponseMaker(); | |
18 | ||
a7ab01d5 | 19 | void UserCreateOutputObjects(); |
a7ab01d5 | 20 | |
4643d2e8 | 21 | void SetMCJetsName(const char *n) { fMCJetsName = n; } |
22 | void SetMCTracksName(const char *n) { fMCTracksName = n; } | |
23 | void SetMaxDistance(Double_t d) { fMaxDistance = d; } | |
24 | void SetDoWeighting(Bool_t d = kTRUE) { fDoWeighting = d; } | |
25 | void SetMCFiducial(Bool_t f = kTRUE) { fMCFiducial = f; } | |
26 | void SetEventWeightHist(Bool_t h) { fEventWeightHist = h; } | |
27 | void SetPtHardBin(Int_t b) { fSelectPtHardBin = b; } | |
2949a2ec | 28 | |
29 | protected: | |
4643d2e8 | 30 | Bool_t IsEventSelected(); |
ceefbfbc | 31 | Bool_t AcceptJet(AliEmcalJet* jet, Bool_t /*bias*/ = kFALSE, Bool_t /*upCut*/ = kFALSE) const; |
1ee1b5b8 | 32 | void ExecOnce(); |
99c67c1b | 33 | void DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bool_t mc); |
6fd5039f | 34 | Bool_t FillHistograms(); |
35 | Bool_t RetrieveEventObjects(); | |
1ee1b5b8 | 36 | Bool_t Run(); |
2949a2ec | 37 | |
a7ab01d5 | 38 | TString fMCTracksName; // name of MC particle collection |
2949a2ec | 39 | TString fMCJetsName; // name of MC jet collection |
1b76c28f | 40 | Double_t fMaxDistance; // maximum distance between matched particle and detector level jets |
1ee1b5b8 | 41 | Bool_t fDoWeighting; // = true, weight using trials and given x section |
4643d2e8 | 42 | Bool_t fEventWeightHist; // = true create event weight histogram |
91bee8bc | 43 | Bool_t fMCFiducial; // = true MC jets in fiducial acceptance |
44 | Double_t fMCminEta; // MC jets minimum eta | |
45 | Double_t fMCmaxEta; // MC jets maximum eta | |
46 | Double_t fMCminPhi; // MC jets minimum phi | |
47 | Double_t fMCmaxPhi; // MC jets maximum phi | |
4643d2e8 | 48 | Int_t fSelectPtHardBin; // Select one pt hard bin for analysis |
1ee1b5b8 | 49 | |
50 | AliGenPythiaEventHeader *fPythiaHeader; //!event Pythia header | |
51 | Double_t fEventWeight; //!event weight | |
52 | Int_t fPtHardBin; //!event pt hard bin | |
53 | Int_t fNTrials; //!event trials | |
a7ab01d5 | 54 | TClonesArray *fMCTracks; //!MC particles |
2949a2ec | 55 | TClonesArray *fMCJets; //!MC jets |
1ee1b5b8 | 56 | // General histograms |
4643d2e8 | 57 | TH1F *fHistZVertex; //!Z vertex position |
1ee1b5b8 | 58 | TH1F *fHistNTrials; //!total number of trials per pt hard bin |
1ee1b5b8 | 59 | TH1F *fHistEvents; //!total number of events per pt hard bin |
4643d2e8 | 60 | TH1F *fHistEventWeight[11]; //!event weight |
2949a2ec | 61 | // Particle level jets |
62 | TH2F *fHistMCJetPhiEta; //!phi-eta distribution of jets | |
63 | TH1F *fHistMCJetsPt; //!inclusive jet pt spectrum | |
ceefbfbc | 64 | TH2F *fHistMCJetPhiEtaFiducial; //!phi-eta distribution of jets in fiducial acceptance (plus lead hadron bias) |
65 | TH1F *fHistMCJetsPtFiducial; //!inclusive jet pt spectrum in fiducial acceptance (plus lead hadron bias) | |
2949a2ec | 66 | TH2F *fHistMCJetsNEFvsPt; //!jet neutral energy fraction vs. jet pt |
67 | TH2F *fHistMCJetsZvsPt; //!constituent Pt over Jet Pt ratio vs. jet pt | |
68 | // Detector level jets | |
69 | TH2F *fHistJetPhiEta; //!phi-eta distribution of jets | |
70 | TH1F *fHistJetsPt; //!inclusive jet pt spectrum | |
2949a2ec | 71 | TH2F *fHistJetsNEFvsPt; //!jet neutral energy fraction vs. jet pt |
72 | TH2F *fHistJetsZvsPt; //!constituent Pt over Jet Pt ratio vs. jet pt | |
1b76c28f | 73 | // Detector-particle level matching |
74 | TH1F *fHistClosestDistance; //!distance between closest particle to detector level jet | |
75 | TH1F *fHistClosestDeltaPhi; //!delta phi between closest particle to detector level jet | |
76 | TH1F *fHistClosestDeltaEta; //!delta eta between closest particle to detector level jet | |
77 | TH1F *fHistClosestDeltaPt; //!delta pt between closest particle to detector level jet | |
99c67c1b | 78 | TH1F *fHistNonMatchedMCJetPt; //!non-matched mc jet pt distribution |
79 | TH1F *fHistNonMatchedJetPt; //!non-matched jet pt distribution | |
1b76c28f | 80 | TH2F *fHistPartvsDetecPt; //!particle vs detector level jet pt |
2bddb6ae | 81 | TH1F *fHistMissedMCJets; //!mc jets not measured |
2949a2ec | 82 | |
83 | private: | |
84 | AliJetResponseMaker(const AliJetResponseMaker&); // not implemented | |
85 | AliJetResponseMaker &operator=(const AliJetResponseMaker&); // not implemented | |
86 | ||
4643d2e8 | 87 | ClassDef(AliJetResponseMaker, 6) // Jet response matrix producing task |
2949a2ec | 88 | }; |
89 | #endif |