AliPhysics  d565ceb (d565ceb)
AddTaskForwardQA.C
Go to the documentation of this file.
1 
28 AddTaskForwardQA(Bool_t mc=false, Bool_t useCent=false)
29 {
30  // --- Load libraries ----------------------------------------------
31  gROOT->LoadClass("AliAODForwardMult", "libPWGLFforward2");
32 
33  // --- Make the task and add it to the manager ---------------------
34  AliForwardQATask* task = new AliForwardQATask("forwardQA");
35 
36  // --- Cuts --------------------------------------------------------
37  // Note, the absolute lowest signal to consider - ever -
38  // irrespective of MC or real data, is 0.15. Signals below this
39  // will contain remenants of the pedestal (yes, the width of the
40  // pedestal is small, but there are many _many_ channels with only
41  // pedestal value in them, so the absolute number of high-value
42  // pedestal signals is large - despite the low probablity).
43  AliFMDMultCuts cSharingLow(AliFMDMultCuts::kFixed,0.15);
46 
47  // --- Set parameters on the algorithms ----------------------------
48  // Set the number of SPD tracklets for which we consider the event a
49  // low flux event
50  task->GetEventInspector().SetLowFluxCut(1000);
51  // Set the maximum error on v_z [cm]
52  task->GetEventInspector().SetMaxVzErr(0.2);
53  // Disable use of code from 1st Physics
55 
56  // --- Set parameters on energy loss fitter ------------------------
57  // Set the eta axis to use - note, this overrides whatever is used
58  // by the rest of the algorithms - but only for the energy fitter
59  // algorithm.
60  task->GetEnergyFitter().SetEtaAxis(200, -4, 6);
61  // Set maximum energy loss to consider
62  task->GetEnergyFitter().SetMaxE(15);
63  // Set number of energy loss bins
64  task->GetEnergyFitter().SetNEbins(500);
65  // Set whether to use increasing bin sizes
67  // Set whether to do fit the energy distributions
68  task->GetEnergyFitter().SetDoFits(kTRUE);
69  // Set whether to make the correction object
70  task->GetEnergyFitter().SetDoMakeObject(kFALSE);
71  // Set the low cut used for energy
72  task->GetEnergyFitter().SetLowCut(0.45);
73  // Set the number of bins to subtract from maximum of distributions
74  // to get the lower bound of the fit range
76  // Set the minimum number of entries in the distribution before
77  // trying to fit to the data
78  task->GetEnergyFitter().SetMinEntries(10000);
79  // Set reqularization cut
81  // Set the maximum number of landaus to try to fit (max 5)
82  task->GetEnergyFitter().SetNParticles(4);
83 
84  // --- Sharing filter ----------------------------------------------
85  // Enable use of angle corrected signals in the algorithm
87  // Disable use of angle corrected signals in the algorithm
89  // Enable use of angle corrected signals in the algorithm
90  task->GetSharingFilter().SetHCuts(cSharingHigh);
91  // Lower cuts from object
92  task->GetSharingFilter().SetLCuts(cSharingLow);
93  // Whether to use simple merging algorithm
95  // Whether to allow for 3 strip hits - deprecated
96  task->GetSharingFilter().SetAllow3Strips(false);
97 
98  // --- Density calculator ------------------------------------------
99  // Least acceptable quality of ELoss fits
100  task->GetDensityCalculator()
102  // Set the maximum number of particle to try to reconstruct
104  // Wet whether to use poisson statistics to estimate N_ch
105  task->GetDensityCalculator().SetUsePoisson(true);
106  // How to lump for Poisson calculator - 64 strips, 4 regions
107  task->GetDensityCalculator().SetLumping(32,4);
108  // Set whether or not to include sigma in cut
109  task->GetDensityCalculator().SetCuts(cDensity);
110  // Set the maximum ratio of outlier bins to the total number of bins
111  // task->GetDensityCalculator().SetMaxOutliers(.10);
112  task->GetDensityCalculator().SetMaxOutliers(1.0);//Disable filter
113  // Set whether or not to use the phi acceptance
114  // AliFMDDensityCalculator::kPhiNoCorrect
115  // AliFMDDensityCalculator::kPhiCorrectNch
116  // AliFMDDensityCalculator::kPhiCorrectELoss
117  task->GetDensityCalculator()
119 
120  // --- Set limits on fits the energy -------------------------------
121  // Maximum relative error on parameters
122  // AliFMDCorrELossFit::ELossFit::fgMaxRelError = .12;
123  // Least weight to use
124  // AliFMDCorrELossFit::ELossFit::fgLeastWeight = 1e-5;
125  // Maximum value of reduced chi^2
126  // AliFMDCorrELossFit::ELossFit::fgMaxChi2nu = 20;
127 
128  // --- Debug -------------------------------------------------------
129  // Set the overall debug level (1: some output, 3: a lot of output)
130  task->SetDebug(1);
131 
132  // --- Make the output container and connect it --------------------
133  task->Connect(AliAnalysisManager::GetCommonFileName(), "trending.root");
134 
135  return task;
136 }
137 //
138 // EOF
139 //
void SetUsePhiAcceptance(UShort_t u=kPhiCorrectNch)
void SetUseAngleCorrectedSignals(Bool_t use)
AliAnalysisTask * AddTaskForwardQA(Bool_t mc=false, Bool_t useCent=false)
virtual Bool_t Connect(const char *sumFile=0, const char *resFile=0)
void SetDoFits(Bool_t doFit=kTRUE)
void SetLCuts(const AliFMDMultCuts &c)
void SetLowCut(Double_t lowCut=0.3)
void SetAllow3Strips(Bool_t use)
void SetUseFirstPhysicsVtx(Bool_t use)
void SetZeroSharedHitsBelowThreshold(Bool_t use)
AliFMDSharingFilter & GetSharingFilter()
void SetFitRangeBinWidth(UShort_t n=4)
void SetMaxE(Double_t x)
void SetMaxVzErr(Double_t c=0.1)
void SetNParticles(UShort_t n)
void SetDebug(Int_t dbg)
void SetDoMakeObject(Bool_t doMake=kTRUE)
void SetMaxOutliers(Double_t ratio=0.10)
void SetHCuts(const AliFMDMultCuts &c)
void SetRegularizationCut(Double_t cut=3e6)
void SetUseIncreasingBins(Bool_t x)
void SetMinEntries(UShort_t n)
void SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax)
AliFMDEventInspector & GetEventInspector()
void SetCuts(const AliFMDMultCuts &c)
AliFMDDensityCalculator & GetDensityCalculator()
AliFMDEnergyFitter & GetEnergyFitter()
bool Bool_t
Definition: External.C:53
void SetUseSimpleSharing(Bool_t use)
void SetMinQuality(UShort_t cut=10)
void SetLumping(Int_t eta, Int_t phi)