]>
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 | ||
27de2dfb | 18 | /* $Id$ */ |
19 | ||
954ac830 | 20 | //----------------------------------------------------------------------- |
21 | // Author : A. Grelli, UTRECHT | |
22 | //----------------------------------------------------------------------- | |
23 | ||
24 | ||
25 | #include <TH2F.h> | |
26 | #include "AliAnalysisTaskSE.h" | |
27 | #include "AliAODEvent.h" | |
28 | ||
29 | class TH2F; | |
30 | class TH1I; | |
31 | class TParticle ; | |
32 | class TFile ; | |
33 | class TClonesArray ; | |
34 | class AliCFManager; | |
35 | class AliAODRecoDecay; | |
36 | class AliAODRecoDecayHF2Prong; | |
37 | class AliAODMCParticle; | |
38 | ||
39 | ||
40 | class AliAnalysisTaskSEDStarJets : public AliAnalysisTaskSE { | |
41 | ||
42 | public: | |
43 | ||
44 | AliAnalysisTaskSEDStarJets(); | |
45 | AliAnalysisTaskSEDStarJets(const Char_t* name); | |
46 | AliAnalysisTaskSEDStarJets& operator= (const AliAnalysisTaskSEDStarJets& c); | |
47 | AliAnalysisTaskSEDStarJets(const AliAnalysisTaskSEDStarJets& c); | |
48 | virtual ~AliAnalysisTaskSEDStarJets(); | |
49 | ||
50 | void UserCreateOutputObjects(); | |
51 | void UserExec(Option_t *option); | |
52 | void Terminate(Option_t *); | |
53 | ||
54 | // User functions | |
55 | ||
56 | Double_t GetInvariantMass(TLorentzVector LorentzTrack1, TLorentzVector LorentzTrack2); | |
57 | Double_t GetInvariantMassDStar(TLorentzVector LorentzTrack3,TLorentzVector LorentzTrack4); | |
58 | ||
59 | //side band background eval | |
feaae220 | 60 | void SideBandBackground(Double_t finvM, Double_t finvMDStar, Double_t fejet, Double_t ejet, Int_t nJets); |
954ac830 | 61 | |
62 | // inizializations | |
63 | Bool_t DefineHistoFroAnalysis(); | |
64 | ||
65 | //MC values for D0 and D* | |
954ac830 | 66 | |
c088a94c | 67 | Bool_t DstarInMC(AliAODMCParticle* const mcPart, TClonesArray* mcArray); |
68 | Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, TClonesArray* mcArray)const; | |
69 | ||
954ac830 | 70 | // Alternative cut method |
71 | Bool_t EvaluateCutOnPiD0pt(AliAODRecoDecayHF2Prong* const vtx, AliAODTrack* const aodTrack); | |
72 | // set minimum ITS clusters for the analysis | |
73 | void SetMinITSClusters(Int_t minITSClusters) {fMinITSClusters = minITSClusters;} | |
74 | Int_t GetMinITSClusters() const {return fMinITSClusters;} | |
feaae220 | 75 | |
954ac830 | 76 | //set the analysis type D*+ or D*- |
77 | void SetAnalType(Bool_t computeD0) {fComputeD0 = computeD0;} | |
78 | Bool_t GetAnalType() const {return fComputeD0;} | |
feaae220 | 79 | |
80 | // set MC usage | |
81 | void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;} | |
82 | Bool_t GetMC() const {return fUseMCInfo;} | |
83 | ||
954ac830 | 84 | // set cut type |
85 | void SetCutType(Bool_t topologicalCut) {ftopologicalCut = topologicalCut;} | |
86 | Bool_t GetCutType() const {return ftopologicalCut;} | |
87 | ||
88 | protected: | |
89 | ||
954ac830 | 90 | Int_t fCountReco; // Reco particle found that satisfy cuts |
91 | Int_t fCountRecoAcc; // Reco particle found that satisfy cuts in requested acceptance | |
92 | Int_t fCountRecoITSClusters; // Reco particle found that satisfy cuts in n. of ITS clusters | |
93 | Int_t fCountRecoPPR; // Reco particle found that satisfy cuts in PPR | |
94 | Int_t fCountDStar; // MC particle that are D* in acc and with D0->kpi. | |
954ac830 | 95 | Int_t fEvents; // n. of events |
96 | Int_t fMinITSClusters; // min n. of ITS clusters for RecoDecay | |
feaae220 | 97 | Bool_t fComputeD0; // select analysis type: D*+ (kTRUE), D*- (kFALSE) |
98 | Bool_t fUseMCInfo; // Use MC info | |
99 | Bool_t ftopologicalCut; // if false apply relaxed PPR cuts alse cut on the space of D0pt and softpipt | |
100 | Bool_t fRequireNormalization; // normalization | |
954ac830 | 101 | |
102 | TLorentzVector fLorentzTrack1; // lorentz 4 vector | |
103 | TLorentzVector fLorentzTrack2; // lorentz 4 vector | |
104 | TLorentzVector fLorentzTrack3; // lorentz 4 vector | |
105 | TLorentzVector fLorentzTrack4; // lorentz 4 vector | |
106 | ||
107 | TList *fOutput; //! user output | |
108 | ||
109 | // define the histograms | |
110 | // 2D | |
111 | TH2F *fD0ptvsSoftPtSignal; //! | |
112 | TH2F *fD0ptvsSoftPt; //! | |
113 | ||
114 | //1D | |
115 | TH1F *ftrigger; //! | |
116 | TH1F *fPtPion; //! | |
117 | TH1F *fInvMass; //! | |
118 | TH1F *fRECOPtDStar; //! | |
119 | TH1F *fDStar; //! | |
120 | TH1F *fDiff; //! | |
121 | TH1F *fDiffSideBand; //! | |
122 | TH1F *fDStarMass; //! | |
123 | TH1F *fPhi; //! | |
124 | TH1F *fPhiBkg; //! | |
125 | TH1F *fTrueDiff; //! | |
126 | TH1F *fResZ; //! | |
127 | TH1F *fResZBkg; //! | |
128 | TH1F *fcharmpt; //! | |
129 | TH1F *fdstarE; //! | |
130 | TH1F *fEjet; //! | |
131 | TH1F *fPhijet; //! | |
132 | TH1F *fEtaJet; //! | |
133 | TH1F *fdstarpt; //! | |
954ac830 | 134 | |
feaae220 | 135 | ClassDef(AliAnalysisTaskSEDStarJets,2); // class for HF corrections as a function of many variables |
954ac830 | 136 | }; |
137 | ||
138 | #endif |