]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/LambdaK0/AliV0Module.h
---> Added Cascade information to the histograms acquired:
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0 / AliV0Module.h
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
23 This version: 27th April 2012 
24
25 --- David Dobrigkeit Chinellato
26     daviddc@ifi.unicamp.br
27
28 ***********************************************/
29
30 class AliV0Module{
31 public: 
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
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
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
98 private:
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
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
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