1 #ifndef ALIANALYSISTASKSEDSTARJETS_H
2 #define ALIANALYSISTASKSEDSTARJETS_H
3 /**************************************************************************
4 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
6 * Author: The ALICE Off-line Project. *
7 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 //-----------------------------------------------------------------------
19 // Author : A. Grelli, UTRECHT
20 //-----------------------------------------------------------------------
24 #include "AliAnalysisTaskSE.h"
25 #include "AliAODEvent.h"
33 class AliAODRecoDecay;
34 class AliAODRecoDecayHF2Prong;
35 class AliAODMCParticle;
38 class AliAnalysisTaskSEDStarJets : public AliAnalysisTaskSE {
42 AliAnalysisTaskSEDStarJets();
43 AliAnalysisTaskSEDStarJets(const Char_t* name);
44 AliAnalysisTaskSEDStarJets& operator= (const AliAnalysisTaskSEDStarJets& c);
45 AliAnalysisTaskSEDStarJets(const AliAnalysisTaskSEDStarJets& c);
46 virtual ~AliAnalysisTaskSEDStarJets();
48 void UserCreateOutputObjects();
49 void UserExec(Option_t *option);
50 void Terminate(Option_t *);
54 Double_t GetInvariantMass(TLorentzVector LorentzTrack1, TLorentzVector LorentzTrack2);
55 Double_t GetInvariantMassDStar(TLorentzVector LorentzTrack3,TLorentzVector LorentzTrack4);
57 //side band background eval
58 void SideBandBackground(Double_t finvM, Double_t finvMDStar, Double_t fejet, Double_t ejet, Int_t nJets);
61 Bool_t DefineHistoFroAnalysis();
63 //MC values for D0 and D*
65 Bool_t DstarInMC(AliAODMCParticle* const mcPart, TClonesArray* mcArray);
66 Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, TClonesArray* mcArray)const;
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;}
74 //set the analysis type D*+ or D*-
75 void SetAnalType(Bool_t computeD0) {fComputeD0 = computeD0;}
76 Bool_t GetAnalType() const {return fComputeD0;}
79 void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
80 Bool_t GetMC() const {return fUseMCInfo;}
83 void SetCutType(Bool_t topologicalCut) {ftopologicalCut = topologicalCut;}
84 Bool_t GetCutType() const {return ftopologicalCut;}
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.
93 Int_t fEvents; // n. of events
94 Int_t fMinITSClusters; // min n. of ITS clusters for RecoDecay
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
100 TLorentzVector fLorentzTrack1; // lorentz 4 vector
101 TLorentzVector fLorentzTrack2; // lorentz 4 vector
102 TLorentzVector fLorentzTrack3; // lorentz 4 vector
103 TLorentzVector fLorentzTrack4; // lorentz 4 vector
105 TList *fOutput; //! user output
107 // define the histograms
109 TH2F *fD0ptvsSoftPtSignal; //!
110 TH2F *fD0ptvsSoftPt; //!
116 TH1F *fRECOPtDStar; //!
119 TH1F *fDiffSideBand; //!
120 TH1F *fDStarMass; //!
133 ClassDef(AliAnalysisTaskSEDStarJets,2); // class for HF corrections as a function of many variables