]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/AliJetResponseMaker.h
Changes from Salvatore:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliJetResponseMaker.h
CommitLineData
2949a2ec 1#ifndef ALIJETRESPONSEMAKER_H
2#define ALIJETRESPONSEMAKER_H
3
7549c451 4// $Id$
2949a2ec 5
1ee1b5b8 6class AliGenPythiaEventHeader;
2949a2ec 7class TClonesArray;
8class TH1F;
9class TH2F;
10
6fd5039f 11#include "AliAnalysisTaskEmcalJet.h"
2949a2ec 12
6fd5039f 13class 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; }
aa4d701c 28 void SetDoMatching(Bool_t b) { fDoMatching = b; }
2949a2ec 29
30 protected:
4643d2e8 31 Bool_t IsEventSelected();
a487deae 32 Bool_t AcceptJet(AliEmcalJet* jet) const;
1ee1b5b8 33 void ExecOnce();
99c67c1b 34 void DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bool_t mc);
6fd5039f 35 Bool_t FillHistograms();
36 Bool_t RetrieveEventObjects();
1ee1b5b8 37 Bool_t Run();
2949a2ec 38
a7ab01d5 39 TString fMCTracksName; // name of MC particle collection
2949a2ec 40 TString fMCJetsName; // name of MC jet collection
1b76c28f 41 Double_t fMaxDistance; // maximum distance between matched particle and detector level jets
1ee1b5b8 42 Bool_t fDoWeighting; // = true, weight using trials and given x section
4643d2e8 43 Bool_t fEventWeightHist; // = true create event weight histogram
91bee8bc 44 Bool_t fMCFiducial; // = true MC jets in fiducial acceptance
45 Double_t fMCminEta; // MC jets minimum eta
46 Double_t fMCmaxEta; // MC jets maximum eta
47 Double_t fMCminPhi; // MC jets minimum phi
48 Double_t fMCmaxPhi; // MC jets maximum phi
aa4d701c 49 Int_t fSelectPtHardBin; // select one pt hard bin for analysis
50 Bool_t fDoMatching; // whether or not it should run the matching between MC and rec jets
1ee1b5b8 51
52 AliGenPythiaEventHeader *fPythiaHeader; //!event Pythia header
53 Double_t fEventWeight; //!event weight
54 Int_t fPtHardBin; //!event pt hard bin
55 Int_t fNTrials; //!event trials
a7ab01d5 56 TClonesArray *fMCTracks; //!MC particles
2949a2ec 57 TClonesArray *fMCJets; //!MC jets
1ee1b5b8 58 // General histograms
59 TH1F *fHistNTrials; //!total number of trials per pt hard bin
1ee1b5b8 60 TH1F *fHistEvents; //!total number of events per pt hard bin
4643d2e8 61 TH1F *fHistEventWeight[11]; //!event weight
2949a2ec 62 // Particle level jets
63 TH2F *fHistMCJetPhiEta; //!phi-eta distribution of jets
64 TH1F *fHistMCJetsPt; //!inclusive jet pt spectrum
ceefbfbc 65 TH2F *fHistMCJetPhiEtaFiducial; //!phi-eta distribution of jets in fiducial acceptance (plus lead hadron bias)
66 TH1F *fHistMCJetsPtFiducial; //!inclusive jet pt spectrum in fiducial acceptance (plus lead hadron bias)
2949a2ec 67 TH2F *fHistMCJetsNEFvsPt; //!jet neutral energy fraction vs. jet pt
68 TH2F *fHistMCJetsZvsPt; //!constituent Pt over Jet Pt ratio vs. jet pt
69 // Detector level jets
70 TH2F *fHistJetPhiEta; //!phi-eta distribution of jets
71 TH1F *fHistJetsPt; //!inclusive jet pt spectrum
2949a2ec 72 TH2F *fHistJetsNEFvsPt; //!jet neutral energy fraction vs. jet pt
73 TH2F *fHistJetsZvsPt; //!constituent Pt over Jet Pt ratio vs. jet pt
1b76c28f 74 // Detector-particle level matching
75 TH1F *fHistClosestDistance; //!distance between closest particle to detector level jet
76 TH1F *fHistClosestDeltaPhi; //!delta phi between closest particle to detector level jet
77 TH1F *fHistClosestDeltaEta; //!delta eta between closest particle to detector level jet
78 TH1F *fHistClosestDeltaPt; //!delta pt between closest particle to detector level jet
99c67c1b 79 TH1F *fHistNonMatchedMCJetPt; //!non-matched mc jet pt distribution
80 TH1F *fHistNonMatchedJetPt; //!non-matched jet pt distribution
1b76c28f 81 TH2F *fHistPartvsDetecPt; //!particle vs detector level jet pt
2bddb6ae 82 TH1F *fHistMissedMCJets; //!mc jets not measured
2949a2ec 83
84 private:
85 AliJetResponseMaker(const AliJetResponseMaker&); // not implemented
86 AliJetResponseMaker &operator=(const AliJetResponseMaker&); // not implemented
87
a487deae 88 ClassDef(AliJetResponseMaker, 8) // Jet response matrix producing task
2949a2ec 89};
90#endif