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