Code update for handling centrality in the dN/deta analysis.
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / ForwardAODConfig.C
1 /**
2  * Configuration script for forward multiplicity task.  
3  *
4  * You can copy this to your working directory or to some other
5  * directory up-front in your ROOT macro path, and edit it to suit your
6  * needs.
7  * 
8  */
9 void
10 ForwardAODConfig(AliForwardMultiplicityBase* task)
11 {
12   if (!task) return;
13
14   Info("ForwardAODConfig", "Setting up task %s (%p)", task->GetName(), task);
15
16   // --- General parameters ------------------------------------------
17   // Whether to enable low flux specific code 
18   task->SetEnableLowFlux(kFALSE);
19
20   // --- Event inspector ---------------------------------------------
21   // Set the number of SPD tracklets for which we consider the event a
22   // low flux event
23   task->GetEventInspector().SetLowFluxCut(1000); 
24   // Set the maximum error on v_z [cm]
25   task->GetEventInspector().SetMaxVzErr(0.2);
26   
27   // --- Energy Loss Fitter ------------------------------------------
28   // Set the eta axis to use - note, this overrides whatever is used
29   // by the rest of the algorithms - but only for the energy fitter
30   // algorithm. 
31   task->GetEnergyFitter().SetEtaAxis(200, -4, 6);
32   // Set maximum energy loss to consider 
33   task->GetEnergyFitter().SetMaxE(10); 
34   // Set number of energy loss bins 
35   task->GetEnergyFitter().SetNEbins(300);
36   // Set whether to use increasing bin sizes 
37   task->GetEnergyFitter().SetUseIncreasingBins(true);
38   // Set whether to do fit the energy distributions 
39   task->GetEnergyFitter().SetDoFits(kFALSE);
40   // Set whether to make the correction object 
41   task->GetEnergyFitter().SetDoMakeObject(kFALSE);
42   // Set the low cut used for energy
43   task->GetEnergyFitter().SetLowCut(0.4);
44   // Set the number of bins to subtract from maximum of distributions
45   // to get the lower bound of the fit range
46   task->GetEnergyFitter().SetFitRangeBinWidth(4);
47   // Set the maximum number of landaus to try to fit (max 5)
48   task->GetEnergyFitter().SetNParticles(5);
49   // Set the minimum number of entries in the distribution before
50   // trying to fit to the data
51   task->GetEnergyFitter().SetMinEntries(1000);
52
53   // --- Sharing filter ----------------------------------------------
54   // Set the low cut used for sharing - overrides settings in eloss fits
55   task->GetSharingFilter().SetLowCut(0.3);
56   // Set the number of xi's (width of landau peak) to stop at 
57   task->GetSharingFilter().SetNXi(1);
58
59   // --- Density calculator 
60   // Set the maximum number of particle to try to reconstruct 
61   task->GetDensityCalculator().SetMaxParticles(3);
62   // Wet whether to use poisson statistics to estimate N_ch
63   task->GetDensityCalculator().SetUsePoisson(false);
64   // Set the lower multiplicity cut.  Overrides setting in energy loss fits.
65   task->GetDensityCalculator().SetMultCut(0.3); //was 0.3
66
67   // --- Corrector ---------------------------------------------------
68   // Whether to use the secondary map correction
69   task->GetCorrections().SetUseSecondaryMap(true);
70   // Whether to use the vertex bias correction
71   task->GetCorrections().SetUseVertexBias(false);
72   // Whether to use the vertex bias correction
73   task->GetCorrections().SetUseAcceptance(true);
74   // Whether to use the merging efficiency correction 
75   task->GetCorrections().SetUseMergingEfficiency(false);
76
77   // --- Histogram Collector -----------------------------------------
78   // Set the number of extra bins (beyond the secondary map border) 
79   task->GetHistCollector().SetNCutBins(2);
80   // Set the correction cut, that is, when bins in the secondary map 
81   // is smaller than this, they are considered empty 
82   task->GetHistCollector().SetCorrectionCut(0.5);
83   // How to calculate the value of overlapping bins. 
84   // Possible values are 
85   //    kStraightMean 
86   //    kStraightMeanNoZero 
87   //    kWeightedMean 
88   //    kLeastError 
89   task->GetHistCollector().SetMergeMethod(AliFMDHistCollector::kStraightMean);
90   // How to find the fiducial area of the secondary maps 
91   // Possible values are 
92   //   kByCut    Only bins larger that cut are trusted 
93   //   kDistance Only bins that are more than half the size of it neighbors
94   task->GetHistCollector().SetFiducialMethod(AliFMDHistCollector::kByCut);
95
96   // --- Debug -------------------------------------------------------
97   // Set the overall debug level (1: some output, 3: a lot of output)
98   task->SetDebug(0);
99   // Set the debug level of a single algorithm 
100   // task->GetEventInspector().SetDebug(4);
101
102   // --- Set limits on fits the energy -------------------------------
103   // Maximum relative error on parameters 
104   AliFMDCorrELossFit::ELossFit::fgMaxRelError = .12;
105   // Least weight to use 
106   AliFMDCorrELossFit::ELossFit::fgLeastWeight = 1e-5;
107   // Maximum value of reduced chi^2 
108   AliFMDCorrELossFit::ELossFit::fgMaxChi2nu   = 20;
109 }
110 //
111 // EOF
112 //