]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/LambdaK0/AliV0Module.h
Merge branch 'flatdev' of https://git.cern.ch/reps/AliRoot into flatdev
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0 / AliV0Module.h
CommitLineData
57a6d361 1#ifndef ALIV0MODULE_H
2#define ALIV0MODULE_H
3/**************************************************************************
4 * Copyright(c) 1998-1999, 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
20 Lambda Analysis Module - Header
21 -------------------------------
22
23This version: 27th April 2012
24
25--- David Dobrigkeit Chinellato
26 daviddc@ifi.unicamp.br
27
28***********************************************/
29
30class AliV0Module{
31public:
32 //Constructor
33 AliV0Module();
34 AliV0Module(TString ParticleType);
35
36 //Set Files to Use
37 void SetRealDataFile ( TString RealDataFilename );
38 void SetMCDataFile ( TString MCDataFilename );
39 void SetFeedDownDataFile ( TString FeedDownDataFilename );
40 void SetOutputFile ( TString OutputFilename );
41
42 //Set Pt Bin Limits
43 void SetPtBinLimits(Long_t got_ptbinnumb, const Double_t *got_ptbinlimits);
44
45 //Set Rapidity Window
46 void SetRapidityWindow(Double_t got_RapidityBoundary);
47
48 //Set CINT1B/INEL to normalize to yield
49 void SetCINT1BoverINEL(Double_t got_CINT1BoverINEL);
50
51 //Set Cuts - topological
52 void SetCutV0Radius (Double_t cut);
53 void SetCutDCANegToPV (Double_t cut);
54 void SetCutDCAPosToPV (Double_t cut);
55 void SetCutDCAV0Daughters (Double_t cut);
56 void SetCutV0CosPA (Double_t cut);
57
58 //Set Cuts - other
59 void SetCutProperLifetime (Double_t cut);
60 void SetCutTPCPIDNSigmas (Double_t cut);
61 void SetCutSigmaForSignalExtraction (Double_t cut);
62 void SetCutLeastNumberOfCrossedRows (Double_t cut);
63 void SetCutLeastNumberOfCrossedRowsOverFindable (Double_t cut);
64 void SetCutDaughterEta (Double_t cut);
65 void SetCutCompetingV0Rejection (Double_t cut);
66
67 //Set Feeddown treatment
68 void SetFeeddownTreatment ( TString FDMethod );
69
70 //Set Fit Background or not
71 void SetFitBackground ( Bool_t fitBgSwitch );
72
d1d5d7e6 73 //Multiplicity Study Setters
74 void SetPerformMultiplicityStudy ( Bool_t lPerformMultStudy );
75 void SetLowMultValue ( Int_t lLoMultBound );
76 void SetHighMultValue ( Int_t lHiMultBound );
77
78 //Set Fit Background or not
79 void SetSpecialArmenterosCutK0s ( Bool_t lSpecialArmenterosCutK0s );
80
57a6d361 81 //Do Analysis
82 void DoAnalysis();
83
84 //Set Default Cuts
85 void SetDefaultCuts();
86
87 //Auxiliary Functions
88 TString IntToString(int input);
89 TString DoubleToString(double input);
90 Double_t ErrorInRatio ( Double_t A, Double_t Aerr, Double_t B, Double_t Berr );
91 Double_t MyGeant3FlukaCorrectionForProtons(const Double_t *x, const Double_t *par);
92 Double_t MyGeant3FlukaCorrectionForAntiProtons(const Double_t *x, const Double_t *par);
93 Double_t MyLevyPtXi(const Double_t *pt, const Double_t *par);
94 Double_t MyBgPol1(const Double_t *x, const Double_t *par);
95 Double_t MyBgPolToEval1(const Double_t *x, const Double_t *par);
96 Double_t RoundToThousandth( const Double_t lToRound );
97
98private:
99 //root file names
100 TString fRealDataFile;
101 TString fMCDataFile;
102 TString fFeedDownDataFile;
103 TString fOutputDataFile;
104
105 //Store Pt Bin Limits
106 //Max Number of Pt Bins Set here (100)
107 Double_t fptbinlimits[100];
108 Double_t fptX[100];
109 Long_t fptbinnumb;
110
111 //Rapidity Range Window
112 Double_t fRapidityBoundary;
113
114 //CINT1B/INEL for normalization
115 Double_t fCINT1BoverINELratio;
116
117 //Main Analysis Parameters
118 //--- 5 Topological Selections
119 Double_t fCutV0Radius;
120 Double_t fCutDCANegToPV;
121 Double_t fCutDCAPosToPV;
122 Double_t fCutDCAV0Daughters;
123 Double_t fCutV0CosPA;
124 //--- Proper Lifetime
125 Double_t fCutProperLifetime;
126 //--- TPC dE/dx N-sigmas
127 Double_t fCutTPCPIDNSigmas;
128 //--- Sigmas for signal extraction
129 Double_t fCutNSigmasForSignalExtraction;
130 //--- Smallest Number of Crossed Rows in TPC accepted for tracks
131 Double_t fCutLeastNumberOfCrossedRows;
132 Double_t fCutLeastNumberOfCrossedRowsOverFindable;
133 //--- Daughter Track eta cut
134 Double_t fCutDaughterEta;
135 //--- Competing V0 Species Rejection
136 Double_t fCutCompetingV0Rejection;
137
138 //WhichParticle switch: "Lambda", "AntiLambda" or "K0Short"
139 TString fWhichParticle;
140
141 //Do Fitting instead of bin counting switch
142 Bool_t fFitBackgroundSwitch;
143
d1d5d7e6 144 //Special Armenteros Selection For K0s
145 Bool_t fSpecialArmenterosCutK0s;
146
147 //Perform multiplicity selection
148 // --- (mult estimator in pp, centrality in PbPb)
149 Bool_t fPerformMultiplicityStudy;
150 Int_t fLoMultBound;
151 Int_t fHiMultBound;
152
57a6d361 153 //FeedDownTreatment switch:
154 // --- NoFD.............: Doesn't feeddown subtract at all
155 // --- DoubleChargedXi..: Multiply Charged Xi subtraction by 2
156 // --- UseMCRatio.......: Fill FD Matrix with Xi- and Xi0
157 // (effectively use Xi0/Xi- from MC, should not be used with
158 // Xi- and Xi+ enhanced datasets!!)
159 TString fFDSwitch;
160};
161#endif