]>
Commit | Line | Data |
---|---|---|
954ac830 | 1 | #ifndef ALIANALYSISTASKSEDSTARJETS_H |
2 | #define ALIANALYSISTASKSEDSTARJETS_H | |
3 | /************************************************************************** | |
4 | * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * * | |
6 | * Author: The ALICE Off-line Project. * | |
7 | * Contributors are mentioned in the code where appropriate. * | |
8 | * * | |
9 | * Permission to use, copy, modify and distribute this software and its * | |
10 | * documentation strictly for non-commercial purposes is hereby granted * | |
11 | * without fee, provided that the above copyright notice appears in all * | |
12 | * copies and that both the copyright notice and this permission notice * | |
13 | * appear in the supporting documentation. The authors make no claims * | |
14 | * about the suitability of this software for any purpose. It is * | |
15 | * provided "as is" without express or implied warranty. * | |
16 | **************************************************************************/ | |
17 | ||
18 | //----------------------------------------------------------------------- | |
19 | // Author : A. Grelli, UTRECHT | |
20 | //----------------------------------------------------------------------- | |
21 | ||
22 | ||
23 | #include <TH2F.h> | |
24 | #include "AliAnalysisTaskSE.h" | |
25 | #include "AliAODEvent.h" | |
26 | ||
27 | class TH2F; | |
28 | class TH1I; | |
29 | class TParticle ; | |
30 | class TFile ; | |
31 | class TClonesArray ; | |
32 | class AliCFManager; | |
33 | class AliAODRecoDecay; | |
34 | class AliAODRecoDecayHF2Prong; | |
35 | class AliAODMCParticle; | |
36 | ||
37 | ||
38 | class AliAnalysisTaskSEDStarJets : public AliAnalysisTaskSE { | |
39 | ||
40 | public: | |
41 | ||
42 | AliAnalysisTaskSEDStarJets(); | |
43 | AliAnalysisTaskSEDStarJets(const Char_t* name); | |
44 | AliAnalysisTaskSEDStarJets& operator= (const AliAnalysisTaskSEDStarJets& c); | |
45 | AliAnalysisTaskSEDStarJets(const AliAnalysisTaskSEDStarJets& c); | |
46 | virtual ~AliAnalysisTaskSEDStarJets(); | |
47 | ||
48 | void UserCreateOutputObjects(); | |
49 | void UserExec(Option_t *option); | |
50 | void Terminate(Option_t *); | |
51 | ||
52 | // User functions | |
53 | ||
54 | Double_t GetInvariantMass(TLorentzVector LorentzTrack1, TLorentzVector LorentzTrack2); | |
55 | Double_t GetInvariantMassDStar(TLorentzVector LorentzTrack3,TLorentzVector LorentzTrack4); | |
56 | ||
57 | //side band background eval | |
feaae220 | 58 | void SideBandBackground(Double_t finvM, Double_t finvMDStar, Double_t fejet, Double_t ejet, Int_t nJets); |
954ac830 | 59 | |
60 | // inizializations | |
61 | Bool_t DefineHistoFroAnalysis(); | |
62 | ||
63 | //MC values for D0 and D* | |
954ac830 | 64 | |
c088a94c | 65 | Bool_t DstarInMC(AliAODMCParticle* const mcPart, TClonesArray* mcArray); |
66 | Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, TClonesArray* mcArray)const; | |
67 | ||
954ac830 | 68 | // Alternative cut method |
69 | Bool_t EvaluateCutOnPiD0pt(AliAODRecoDecayHF2Prong* const vtx, AliAODTrack* const aodTrack); | |
70 | // set minimum ITS clusters for the analysis | |
71 | void SetMinITSClusters(Int_t minITSClusters) {fMinITSClusters = minITSClusters;} | |
72 | Int_t GetMinITSClusters() const {return fMinITSClusters;} | |
feaae220 | 73 | |
954ac830 | 74 | //set the analysis type D*+ or D*- |
75 | void SetAnalType(Bool_t computeD0) {fComputeD0 = computeD0;} | |
76 | Bool_t GetAnalType() const {return fComputeD0;} | |
feaae220 | 77 | |
78 | // set MC usage | |
79 | void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;} | |
80 | Bool_t GetMC() const {return fUseMCInfo;} | |
81 | ||
954ac830 | 82 | // set cut type |
83 | void SetCutType(Bool_t topologicalCut) {ftopologicalCut = topologicalCut;} | |
84 | Bool_t GetCutType() const {return ftopologicalCut;} | |
85 | ||
86 | protected: | |
87 | ||
954ac830 | 88 | Int_t fCountReco; // Reco particle found that satisfy cuts |
89 | Int_t fCountRecoAcc; // Reco particle found that satisfy cuts in requested acceptance | |
90 | Int_t fCountRecoITSClusters; // Reco particle found that satisfy cuts in n. of ITS clusters | |
91 | Int_t fCountRecoPPR; // Reco particle found that satisfy cuts in PPR | |
92 | Int_t fCountDStar; // MC particle that are D* in acc and with D0->kpi. | |
954ac830 | 93 | Int_t fEvents; // n. of events |
94 | Int_t fMinITSClusters; // min n. of ITS clusters for RecoDecay | |
feaae220 | 95 | Bool_t fComputeD0; // select analysis type: D*+ (kTRUE), D*- (kFALSE) |
96 | Bool_t fUseMCInfo; // Use MC info | |
97 | Bool_t ftopologicalCut; // if false apply relaxed PPR cuts alse cut on the space of D0pt and softpipt | |
98 | Bool_t fRequireNormalization; // normalization | |
954ac830 | 99 | |
100 | TLorentzVector fLorentzTrack1; // lorentz 4 vector | |
101 | TLorentzVector fLorentzTrack2; // lorentz 4 vector | |
102 | TLorentzVector fLorentzTrack3; // lorentz 4 vector | |
103 | TLorentzVector fLorentzTrack4; // lorentz 4 vector | |
104 | ||
105 | TList *fOutput; //! user output | |
106 | ||
107 | // define the histograms | |
108 | // 2D | |
109 | TH2F *fD0ptvsSoftPtSignal; //! | |
110 | TH2F *fD0ptvsSoftPt; //! | |
111 | ||
112 | //1D | |
113 | TH1F *ftrigger; //! | |
114 | TH1F *fPtPion; //! | |
115 | TH1F *fInvMass; //! | |
116 | TH1F *fRECOPtDStar; //! | |
117 | TH1F *fDStar; //! | |
118 | TH1F *fDiff; //! | |
119 | TH1F *fDiffSideBand; //! | |
120 | TH1F *fDStarMass; //! | |
121 | TH1F *fPhi; //! | |
122 | TH1F *fPhiBkg; //! | |
123 | TH1F *fTrueDiff; //! | |
124 | TH1F *fResZ; //! | |
125 | TH1F *fResZBkg; //! | |
126 | TH1F *fcharmpt; //! | |
127 | TH1F *fdstarE; //! | |
128 | TH1F *fEjet; //! | |
129 | TH1F *fPhijet; //! | |
130 | TH1F *fEtaJet; //! | |
131 | TH1F *fdstarpt; //! | |
954ac830 | 132 | |
feaae220 | 133 | ClassDef(AliAnalysisTaskSEDStarJets,2); // class for HF corrections as a function of many variables |
954ac830 | 134 | }; |
135 | ||
136 | #endif |