#include <TMath.h>
#include <TVectorT.h>
#include <TH1.h>
#include <TROOT.h>
#include <TCanvas.h>
#include <AliCFContainer.h>
#include <AliCFGridSparse.h>
#include "AliDielectronSignalBase.h"
#include "AliDielectronSignalFunc.h"
#include "AliDielectronSpectrum.h"
ClassImp(AliDielectronSpectrum)
AliDielectronSpectrum::AliDielectronSpectrum() :
TNamed(),
fCFSignal(0x0),
fCFCorrection(0x0),
fCFSpectrum(0x0),
fCFCorrMatrix(0x0),
fStepSignal(kTRUE),
fStepSignificance(kFALSE),
fStepSOB(kFALSE),
fStepMass(kFALSE),
fStepMassWidth(kFALSE),
fSignalStep(-1),
fCorrNom(-1),
fCorrDenom(-1),
fSignalMethods(0),
fVariables("Pt"),
fOwnerSpectrum(kTRUE),
fVisualDebug(kFALSE),
fNvars(0),
fVars(0x0),
fNbins(0x0),
fCurrentBins(0x0),
fCurrentPositions(0x0)
{
fSignalMethods.SetOwner(kFALSE);
}
AliDielectronSpectrum::AliDielectronSpectrum(const char* name, const char* title) :
TNamed(name, title),
fCFSignal(0x0),
fCFCorrection(0x0),
fCFSpectrum(0x0),
fCFCorrMatrix(0x0),
fStepSignal(kTRUE),
fStepSignificance(kFALSE),
fStepSOB(kFALSE),
fStepMass(kFALSE),
fStepMassWidth(kFALSE),
fSignalStep(-1),
fCorrNom(-1),
fCorrDenom(-1),
fSignalMethods(0),
fVariables("Pt"),
fOwnerSpectrum(kTRUE),
fVisualDebug(kFALSE),
fNvars(0),
fVars(0x0),
fNbins(0x0),
fCurrentBins(0x0),
fCurrentPositions(0x0)
{
fSignalMethods.SetOwner(kFALSE);
}
AliDielectronSpectrum::~AliDielectronSpectrum()
{
if (fNbins) delete [] fNbins;
if (fVars) delete [] fVars;
if (fCFCorrMatrix) delete fCFCorrMatrix;
if ( fOwnerSpectrum && fCFSpectrum ) delete fCFSpectrum;
}
void AliDielectronSpectrum::Process()
{
if (!fCFSignal){
AliError("Cannot perform signal extraction, no signal container set");
return;
}
if (fSignalMethods.GetEntries()==0){
AliWarning("No Signal extraction method specified, using a default one");
AliDielectronSignalFunc *func=new AliDielectronSignalFunc("gaus+exp","Gauss for Signal and Exponential background");
func->SetDefaults(1);
fSignalMethods.Add(func);
fSignalMethods.SetOwner();
}
if (!SetupVariables()) return;
CreateCFSpectrum();
if (!fCFSpectrum){
AliError("Could not create the Spectrum container");
return;
}
if (fCFCorrection&&!fCFCorrMatrix){
CreateCorrectionMatrix();
}
fCurrentBins=new Int_t[fNvars];
fCurrentPositions=new Double_t[fNvars];
ExtractSignalInBins();
delete [] fCurrentBins;
delete [] fCurrentPositions;
if (fSignalMethods.IsOwner()) {
fSignalMethods.Delete();
fSignalMethods.SetOwner(kFALSE);
}
}
Bool_t AliDielectronSpectrum::SetupVariables()
{
TObjArray *arr=fVariables.Tokenize(":");
fNvars=arr->GetEntries();
fVars=new Int_t[fNvars];
fNbins=new Int_t[fNvars];
for (Int_t iVar=0; iVar<fNvars; ++iVar){
fVars[iVar]=fCFSignal->GetVar(arr->UncheckedAt(iVar)->GetName());
if (fVars[iVar]==-1){
AliError(Form("Variable '%s' not found in Signal container!",arr->UncheckedAt(iVar)->GetName()));
delete [] fVars;
fVars=0x0;
delete [] fNbins;
fNbins=0x0;
delete arr;
return kFALSE;
}
fNbins[iVar]=fCFSignal->GetNBins(fVars[iVar]);
}
delete arr;
return kTRUE;
}
void AliDielectronSpectrum::CreateCFSpectrum()
{
Int_t nAddStep=0;
if (fStepSignal) nAddStep+=2;
if (fStepSignificance) ++nAddStep;
if (fStepSOB) ++nAddStep;
if (fStepMass) ++nAddStep;
if (fStepMassWidth) ++nAddStep;
Int_t nStep=nAddStep*(fSignalMethods.GetEntries());
if (fSignalMethods.GetEntries()>1) nStep+=nAddStep;
fCFSpectrum = new AliCFContainer(GetName(), GetTitle(), nStep, fNvars, fNbins);
for (Int_t iVar=0; iVar<fNvars; iVar++) {
fCFSpectrum->SetBinLimits(iVar, fCFSignal->GetBinLimits(fVars[iVar]));
fCFSpectrum->SetVarTitle(iVar, fCFSignal->GetVarTitle(fVars[iVar]));
}
Int_t steps=0;
for (Int_t iMethod=0; iMethod<fSignalMethods.GetEntries(); ++iMethod){
TString name(fSignalMethods.UncheckedAt(iMethod)->GetName());
if (fStepSignal){
fCFSpectrum->SetStepTitle(steps++,(name+" (Signal)").Data());
fCFSpectrum->SetStepTitle(steps++,(name+" (Corrected Signal)").Data());
}
if (fStepSignificance){
fCFSpectrum->SetStepTitle(steps++,(name+" (Significance)").Data());
}
if (fStepSOB){
fCFSpectrum->SetStepTitle(steps++,(name+" (S/B)").Data());
}
if (fStepMass){
fCFSpectrum->SetStepTitle(steps++,(name+" (Mass)").Data());
}
if (fStepMassWidth){
fCFSpectrum->SetStepTitle(steps++,(name+" (Mass width)").Data());
}
}
if (fSignalMethods.GetEntries()>1){
fCFSpectrum->SetStepTitle(steps++,"Mean of methods");
fCFSpectrum->SetStepTitle(steps++,"Mean of methods (Corrected)");
}
if (nStep!=steps){
AliError("Something went wrong in the step creation");
delete fCFSpectrum;
fCFSpectrum=0x0;
}
}
void AliDielectronSpectrum::CreateCorrectionMatrix()
{
if (!fCFCorrection) return;
TObjArray *arr=fVariables.Tokenize(":");
Int_t nvars=arr->GetEntries();
Int_t *vars=new Int_t[nvars];
for (Int_t iVar=0; iVar<fNvars; ++iVar){
vars[iVar]=fCFCorrection->GetVar(arr->UncheckedAt(iVar)->GetName());
if (vars[iVar]==-1){
AliError(Form("Variable '%s' not found in Correction container!",arr->UncheckedAt(iVar)->GetName()));
delete [] vars;
delete arr;
return;
}
}
delete arr;
fCFCorrMatrix =fCFCorrection->GetGrid(fCorrNom)->Project(nvars,vars,0,0);
AliCFGridSparse *hnDeNom=fCFCorrection->GetGrid(fCorrDenom)->Project(nvars,vars,0,0);
fCFCorrMatrix->Divide(hnDeNom);
delete hnDeNom;
}
void AliDielectronSpectrum::ExtractSignalInBins(Int_t variable)
{
Int_t varPairType=fCFSignal->GetVar("PairType");
Int_t varMass=fCFSignal->GetVar("M");
for (Int_t ibin=0; ibin<fNbins[variable]; ++ibin){
Int_t bin=ibin+1;
fCFSignal->GetGrid(fSignalStep)->GetGrid()->GetAxis(fVars[variable])->SetRange(bin,bin);
fCurrentBins[variable]=bin;
fCurrentPositions[variable]=fCFSignal->GetGrid(fSignalStep)->GetBinCenter(fVars[variable],bin);
if (variable != fNvars-1) ExtractSignalInBins(variable+1);
TObjArray arrPairTypes(10);
arrPairTypes.SetOwner();
for (Int_t itype=0; itype<3; ++itype){
fCFSignal->SetRangeUser(varPairType,itype,itype,fSignalStep);
TH1 *h=fCFSignal->Project(varMass,fSignalStep);
h->SetDirectory(0);
arrPairTypes.AddAt(h,itype);
}
AliInfo(Form("Processing bin: %d (%.2f)",ibin, fCurrentPositions[variable]));
for (Int_t iMethod=0; iMethod<fSignalMethods.GetEntries(); ++iMethod){
AliDielectronSignalBase *signalMethod=(AliDielectronSignalBase*)fSignalMethods.At(iMethod);
signalMethod->Process(&arrPairTypes);
if (fVisualDebug){
TCanvas *c=(TCanvas*)gROOT->GetListOfCanvases()->FindObject("SpectrumVisualDebug");
if (!c) c=new TCanvas("SpectrumVisualDebug","SpectrumVisualDebug");
c->Clear();
TString binsProc;
for (Int_t ivar=0; ivar<fNvars; ++ivar) binsProc+=Form("_%02d",fCurrentBins[ivar]);
signalMethod->Draw("stat");
binsProc.Append(".png");
binsProc.Prepend("SpectrumVisualDebug");
c->Update();
c->Print(binsProc.Data());
}
const TVectorD &val=signalMethod->GetValues();
const TVectorD &err=signalMethod->GetErrors();
Int_t step=0;
if (fStepSignal){
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,val(0));
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,err(0));
++step;
if (fCFCorrMatrix){
Float_t corrFactor = fCFCorrMatrix->GetElement(fCurrentPositions);
Float_t corrError = fCFCorrMatrix->GetElementError(fCurrentPositions);
Float_t value=val(0)*corrFactor;
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,value);
Float_t error=TMath::Sqrt( (err(0)/val(0))*(err(0)/val(0)) +
(corrError/corrFactor)*(corrError/corrFactor)
)*value;
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,error);
}
++step;
}
if (fStepSignificance) {
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,val(2));
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,err(2));
++step;
}
if (fStepSOB) {
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,val(3));
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,err(3));
++step;
}
if (fStepMass) {
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,val(4));
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,err(4));
++step;
}
if (fStepMassWidth) {
fCFSpectrum->GetGrid(step)->SetElement(fCurrentBins,val(5));
fCFSpectrum->GetGrid(step)->SetElementError(fCurrentBins,err(5));
++step;
}
}
arrPairTypes.Delete();
}
}
AliDielectronSpectrum.cxx:1 AliDielectronSpectrum.cxx:2 AliDielectronSpectrum.cxx:3 AliDielectronSpectrum.cxx:4 AliDielectronSpectrum.cxx:5 AliDielectronSpectrum.cxx:6 AliDielectronSpectrum.cxx:7 AliDielectronSpectrum.cxx:8 AliDielectronSpectrum.cxx:9 AliDielectronSpectrum.cxx:10 AliDielectronSpectrum.cxx:11 AliDielectronSpectrum.cxx:12 AliDielectronSpectrum.cxx:13 AliDielectronSpectrum.cxx:14 AliDielectronSpectrum.cxx:15 AliDielectronSpectrum.cxx:16 AliDielectronSpectrum.cxx:17 AliDielectronSpectrum.cxx:18 AliDielectronSpectrum.cxx:19 AliDielectronSpectrum.cxx:20 AliDielectronSpectrum.cxx:21 AliDielectronSpectrum.cxx:22 AliDielectronSpectrum.cxx:23 AliDielectronSpectrum.cxx:24 AliDielectronSpectrum.cxx:25 AliDielectronSpectrum.cxx:26 AliDielectronSpectrum.cxx:27 AliDielectronSpectrum.cxx:28 AliDielectronSpectrum.cxx:29 AliDielectronSpectrum.cxx:30 AliDielectronSpectrum.cxx:31 AliDielectronSpectrum.cxx:32 AliDielectronSpectrum.cxx:33 AliDielectronSpectrum.cxx:34 AliDielectronSpectrum.cxx:35 AliDielectronSpectrum.cxx:36 AliDielectronSpectrum.cxx:37 AliDielectronSpectrum.cxx:38 AliDielectronSpectrum.cxx:39 AliDielectronSpectrum.cxx:40 AliDielectronSpectrum.cxx:41 AliDielectronSpectrum.cxx:42 AliDielectronSpectrum.cxx:43 AliDielectronSpectrum.cxx:44 AliDielectronSpectrum.cxx:45 AliDielectronSpectrum.cxx:46 AliDielectronSpectrum.cxx:47 AliDielectronSpectrum.cxx:48 AliDielectronSpectrum.cxx:49 AliDielectronSpectrum.cxx:50 AliDielectronSpectrum.cxx:51 AliDielectronSpectrum.cxx:52 AliDielectronSpectrum.cxx:53 AliDielectronSpectrum.cxx:54 AliDielectronSpectrum.cxx:55 AliDielectronSpectrum.cxx:56 AliDielectronSpectrum.cxx:57 AliDielectronSpectrum.cxx:58 AliDielectronSpectrum.cxx:59 AliDielectronSpectrum.cxx:60 AliDielectronSpectrum.cxx:61 AliDielectronSpectrum.cxx:62 AliDielectronSpectrum.cxx:63 AliDielectronSpectrum.cxx:64 AliDielectronSpectrum.cxx:65 AliDielectronSpectrum.cxx:66 AliDielectronSpectrum.cxx:67 AliDielectronSpectrum.cxx:68 AliDielectronSpectrum.cxx:69 AliDielectronSpectrum.cxx:70 AliDielectronSpectrum.cxx:71 AliDielectronSpectrum.cxx:72 AliDielectronSpectrum.cxx:73 AliDielectronSpectrum.cxx:74 AliDielectronSpectrum.cxx:75 AliDielectronSpectrum.cxx:76 AliDielectronSpectrum.cxx:77 AliDielectronSpectrum.cxx:78 AliDielectronSpectrum.cxx:79 AliDielectronSpectrum.cxx:80 AliDielectronSpectrum.cxx:81 AliDielectronSpectrum.cxx:82 AliDielectronSpectrum.cxx:83 AliDielectronSpectrum.cxx:84 AliDielectronSpectrum.cxx:85 AliDielectronSpectrum.cxx:86 AliDielectronSpectrum.cxx:87 AliDielectronSpectrum.cxx:88 AliDielectronSpectrum.cxx:89 AliDielectronSpectrum.cxx:90 AliDielectronSpectrum.cxx:91 AliDielectronSpectrum.cxx:92 AliDielectronSpectrum.cxx:93 AliDielectronSpectrum.cxx:94 AliDielectronSpectrum.cxx:95 AliDielectronSpectrum.cxx:96 AliDielectronSpectrum.cxx:97 AliDielectronSpectrum.cxx:98 AliDielectronSpectrum.cxx:99 AliDielectronSpectrum.cxx:100 AliDielectronSpectrum.cxx:101 AliDielectronSpectrum.cxx:102 AliDielectronSpectrum.cxx:103 AliDielectronSpectrum.cxx:104 AliDielectronSpectrum.cxx:105 AliDielectronSpectrum.cxx:106 AliDielectronSpectrum.cxx:107 AliDielectronSpectrum.cxx:108 AliDielectronSpectrum.cxx:109 AliDielectronSpectrum.cxx:110 AliDielectronSpectrum.cxx:111 AliDielectronSpectrum.cxx:112 AliDielectronSpectrum.cxx:113 AliDielectronSpectrum.cxx:114 AliDielectronSpectrum.cxx:115 AliDielectronSpectrum.cxx:116 AliDielectronSpectrum.cxx:117 AliDielectronSpectrum.cxx:118 AliDielectronSpectrum.cxx:119 AliDielectronSpectrum.cxx:120 AliDielectronSpectrum.cxx:121 AliDielectronSpectrum.cxx:122 AliDielectronSpectrum.cxx:123 AliDielectronSpectrum.cxx:124 AliDielectronSpectrum.cxx:125 AliDielectronSpectrum.cxx:126 AliDielectronSpectrum.cxx:127 AliDielectronSpectrum.cxx:128 AliDielectronSpectrum.cxx:129 AliDielectronSpectrum.cxx:130 AliDielectronSpectrum.cxx:131 AliDielectronSpectrum.cxx:132 AliDielectronSpectrum.cxx:133 AliDielectronSpectrum.cxx:134 AliDielectronSpectrum.cxx:135 AliDielectronSpectrum.cxx:136 AliDielectronSpectrum.cxx:137 AliDielectronSpectrum.cxx:138 AliDielectronSpectrum.cxx:139 AliDielectronSpectrum.cxx:140 AliDielectronSpectrum.cxx:141 AliDielectronSpectrum.cxx:142 AliDielectronSpectrum.cxx:143 AliDielectronSpectrum.cxx:144 AliDielectronSpectrum.cxx:145 AliDielectronSpectrum.cxx:146 AliDielectronSpectrum.cxx:147 AliDielectronSpectrum.cxx:148 AliDielectronSpectrum.cxx:149 AliDielectronSpectrum.cxx:150 AliDielectronSpectrum.cxx:151 AliDielectronSpectrum.cxx:152 AliDielectronSpectrum.cxx:153 AliDielectronSpectrum.cxx:154 AliDielectronSpectrum.cxx:155 AliDielectronSpectrum.cxx:156 AliDielectronSpectrum.cxx:157 AliDielectronSpectrum.cxx:158 AliDielectronSpectrum.cxx:159 AliDielectronSpectrum.cxx:160 AliDielectronSpectrum.cxx:161 AliDielectronSpectrum.cxx:162 AliDielectronSpectrum.cxx:163 AliDielectronSpectrum.cxx:164 AliDielectronSpectrum.cxx:165 AliDielectronSpectrum.cxx:166 AliDielectronSpectrum.cxx:167 AliDielectronSpectrum.cxx:168 AliDielectronSpectrum.cxx:169 AliDielectronSpectrum.cxx:170 AliDielectronSpectrum.cxx:171 AliDielectronSpectrum.cxx:172 AliDielectronSpectrum.cxx:173 AliDielectronSpectrum.cxx:174 AliDielectronSpectrum.cxx:175 AliDielectronSpectrum.cxx:176 AliDielectronSpectrum.cxx:177 AliDielectronSpectrum.cxx:178 AliDielectronSpectrum.cxx:179 AliDielectronSpectrum.cxx:180 AliDielectronSpectrum.cxx:181 AliDielectronSpectrum.cxx:182 AliDielectronSpectrum.cxx:183 AliDielectronSpectrum.cxx:184 AliDielectronSpectrum.cxx:185 AliDielectronSpectrum.cxx:186 AliDielectronSpectrum.cxx:187 AliDielectronSpectrum.cxx:188 AliDielectronSpectrum.cxx:189 AliDielectronSpectrum.cxx:190 AliDielectronSpectrum.cxx:191 AliDielectronSpectrum.cxx:192 AliDielectronSpectrum.cxx:193 AliDielectronSpectrum.cxx:194 AliDielectronSpectrum.cxx:195 AliDielectronSpectrum.cxx:196 AliDielectronSpectrum.cxx:197 AliDielectronSpectrum.cxx:198 AliDielectronSpectrum.cxx:199 AliDielectronSpectrum.cxx:200 AliDielectronSpectrum.cxx:201 AliDielectronSpectrum.cxx:202 AliDielectronSpectrum.cxx:203 AliDielectronSpectrum.cxx:204 AliDielectronSpectrum.cxx:205 AliDielectronSpectrum.cxx:206 AliDielectronSpectrum.cxx:207 AliDielectronSpectrum.cxx:208 AliDielectronSpectrum.cxx:209 AliDielectronSpectrum.cxx:210 AliDielectronSpectrum.cxx:211 AliDielectronSpectrum.cxx:212 AliDielectronSpectrum.cxx:213 AliDielectronSpectrum.cxx:214 AliDielectronSpectrum.cxx:215 AliDielectronSpectrum.cxx:216 AliDielectronSpectrum.cxx:217 AliDielectronSpectrum.cxx:218 AliDielectronSpectrum.cxx:219 AliDielectronSpectrum.cxx:220 AliDielectronSpectrum.cxx:221 AliDielectronSpectrum.cxx:222 AliDielectronSpectrum.cxx:223 AliDielectronSpectrum.cxx:224 AliDielectronSpectrum.cxx:225 AliDielectronSpectrum.cxx:226 AliDielectronSpectrum.cxx:227 AliDielectronSpectrum.cxx:228 AliDielectronSpectrum.cxx:229 AliDielectronSpectrum.cxx:230 AliDielectronSpectrum.cxx:231 AliDielectronSpectrum.cxx:232 AliDielectronSpectrum.cxx:233 AliDielectronSpectrum.cxx:234 AliDielectronSpectrum.cxx:235 AliDielectronSpectrum.cxx:236 AliDielectronSpectrum.cxx:237 AliDielectronSpectrum.cxx:238 AliDielectronSpectrum.cxx:239 AliDielectronSpectrum.cxx:240 AliDielectronSpectrum.cxx:241 AliDielectronSpectrum.cxx:242 AliDielectronSpectrum.cxx:243 AliDielectronSpectrum.cxx:244 AliDielectronSpectrum.cxx:245 AliDielectronSpectrum.cxx:246 AliDielectronSpectrum.cxx:247 AliDielectronSpectrum.cxx:248 AliDielectronSpectrum.cxx:249 AliDielectronSpectrum.cxx:250 AliDielectronSpectrum.cxx:251 AliDielectronSpectrum.cxx:252 AliDielectronSpectrum.cxx:253 AliDielectronSpectrum.cxx:254 AliDielectronSpectrum.cxx:255 AliDielectronSpectrum.cxx:256 AliDielectronSpectrum.cxx:257 AliDielectronSpectrum.cxx:258 AliDielectronSpectrum.cxx:259 AliDielectronSpectrum.cxx:260 AliDielectronSpectrum.cxx:261 AliDielectronSpectrum.cxx:262 AliDielectronSpectrum.cxx:263 AliDielectronSpectrum.cxx:264 AliDielectronSpectrum.cxx:265 AliDielectronSpectrum.cxx:266 AliDielectronSpectrum.cxx:267 AliDielectronSpectrum.cxx:268 AliDielectronSpectrum.cxx:269 AliDielectronSpectrum.cxx:270 AliDielectronSpectrum.cxx:271 AliDielectronSpectrum.cxx:272 AliDielectronSpectrum.cxx:273 AliDielectronSpectrum.cxx:274 AliDielectronSpectrum.cxx:275 AliDielectronSpectrum.cxx:276 AliDielectronSpectrum.cxx:277 AliDielectronSpectrum.cxx:278 AliDielectronSpectrum.cxx:279 AliDielectronSpectrum.cxx:280 AliDielectronSpectrum.cxx:281 AliDielectronSpectrum.cxx:282 AliDielectronSpectrum.cxx:283 AliDielectronSpectrum.cxx:284 AliDielectronSpectrum.cxx:285 AliDielectronSpectrum.cxx:286 AliDielectronSpectrum.cxx:287 AliDielectronSpectrum.cxx:288 AliDielectronSpectrum.cxx:289 AliDielectronSpectrum.cxx:290 AliDielectronSpectrum.cxx:291 AliDielectronSpectrum.cxx:292 AliDielectronSpectrum.cxx:293 AliDielectronSpectrum.cxx:294 AliDielectronSpectrum.cxx:295 AliDielectronSpectrum.cxx:296 AliDielectronSpectrum.cxx:297 AliDielectronSpectrum.cxx:298 AliDielectronSpectrum.cxx:299 AliDielectronSpectrum.cxx:300 AliDielectronSpectrum.cxx:301 AliDielectronSpectrum.cxx:302 AliDielectronSpectrum.cxx:303 AliDielectronSpectrum.cxx:304 AliDielectronSpectrum.cxx:305 AliDielectronSpectrum.cxx:306 AliDielectronSpectrum.cxx:307 AliDielectronSpectrum.cxx:308 AliDielectronSpectrum.cxx:309 AliDielectronSpectrum.cxx:310 AliDielectronSpectrum.cxx:311 AliDielectronSpectrum.cxx:312 AliDielectronSpectrum.cxx:313 AliDielectronSpectrum.cxx:314 AliDielectronSpectrum.cxx:315 AliDielectronSpectrum.cxx:316 AliDielectronSpectrum.cxx:317 AliDielectronSpectrum.cxx:318 AliDielectronSpectrum.cxx:319 AliDielectronSpectrum.cxx:320 AliDielectronSpectrum.cxx:321 AliDielectronSpectrum.cxx:322 AliDielectronSpectrum.cxx:323 AliDielectronSpectrum.cxx:324 AliDielectronSpectrum.cxx:325 AliDielectronSpectrum.cxx:326 AliDielectronSpectrum.cxx:327 AliDielectronSpectrum.cxx:328 AliDielectronSpectrum.cxx:329 AliDielectronSpectrum.cxx:330 AliDielectronSpectrum.cxx:331 AliDielectronSpectrum.cxx:332 AliDielectronSpectrum.cxx:333 AliDielectronSpectrum.cxx:334 AliDielectronSpectrum.cxx:335 AliDielectronSpectrum.cxx:336 AliDielectronSpectrum.cxx:337 AliDielectronSpectrum.cxx:338 AliDielectronSpectrum.cxx:339 AliDielectronSpectrum.cxx:340 AliDielectronSpectrum.cxx:341 AliDielectronSpectrum.cxx:342 AliDielectronSpectrum.cxx:343 AliDielectronSpectrum.cxx:344 AliDielectronSpectrum.cxx:345 AliDielectronSpectrum.cxx:346 AliDielectronSpectrum.cxx:347 AliDielectronSpectrum.cxx:348 AliDielectronSpectrum.cxx:349 AliDielectronSpectrum.cxx:350 AliDielectronSpectrum.cxx:351 AliDielectronSpectrum.cxx:352 AliDielectronSpectrum.cxx:353 AliDielectronSpectrum.cxx:354 AliDielectronSpectrum.cxx:355 AliDielectronSpectrum.cxx:356 AliDielectronSpectrum.cxx:357 AliDielectronSpectrum.cxx:358 AliDielectronSpectrum.cxx:359 AliDielectronSpectrum.cxx:360 AliDielectronSpectrum.cxx:361 AliDielectronSpectrum.cxx:362 AliDielectronSpectrum.cxx:363 AliDielectronSpectrum.cxx:364 AliDielectronSpectrum.cxx:365 AliDielectronSpectrum.cxx:366 AliDielectronSpectrum.cxx:367 AliDielectronSpectrum.cxx:368 AliDielectronSpectrum.cxx:369 AliDielectronSpectrum.cxx:370 AliDielectronSpectrum.cxx:371 AliDielectronSpectrum.cxx:372 AliDielectronSpectrum.cxx:373 AliDielectronSpectrum.cxx:374 AliDielectronSpectrum.cxx:375 AliDielectronSpectrum.cxx:376 AliDielectronSpectrum.cxx:377 AliDielectronSpectrum.cxx:378 AliDielectronSpectrum.cxx:379 AliDielectronSpectrum.cxx:380 AliDielectronSpectrum.cxx:381 AliDielectronSpectrum.cxx:382 AliDielectronSpectrum.cxx:383 AliDielectronSpectrum.cxx:384 AliDielectronSpectrum.cxx:385 AliDielectronSpectrum.cxx:386 AliDielectronSpectrum.cxx:387 AliDielectronSpectrum.cxx:388 AliDielectronSpectrum.cxx:389