]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AliAnalysisTaskSEDStarJets.h
Adding Id to PWG3 classes for better tracking of the coverity defect fixes (Ivana)
[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
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
29class TH2F;
30class TH1I;
31class TParticle ;
32class TFile ;
33class TClonesArray ;
34class AliCFManager;
35class AliAODRecoDecay;
36class AliAODRecoDecayHF2Prong;
37class AliAODMCParticle;
38
39
40class 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