]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AliAnalysisTaskSEDStarJets.h
Added event-level selection (Chiara)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEDStarJets.h
CommitLineData
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
27class TH2F;
28class TH1I;
29class TParticle ;
30class TFile ;
31class TClonesArray ;
32class AliCFManager;
33class AliAODRecoDecay;
34class AliAODRecoDecayHF2Prong;
35class AliAODMCParticle;
36
37
38class 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