//
// return MC track
//
+ if (!fMCEvent){ AliError("No fMCEvent"); return NULL;}
+
+ Int_t nStack = fMCEvent->GetNumberOfTracks();
Int_t label = TMath::Abs(_track->GetLabel());
+ if(label>nStack)return NULL;
+
AliMCParticle *mctrack = dynamic_cast<AliMCParticle *>(fMCEvent->GetTrack(label));
return mctrack;
}
return t;
}
+//______________________________________________
+void AliDielectronSignalBase::Print(Option_t */*option*/) const
+{
+ //
+ // Print the statistics
+ //
+ printf("Signal : %.5g #pm %.5g\n",GetSignal(),GetSignalError());
+ printf("Backgnd: %.5g #pm %.5g\n",GetBackground(),GetBackgroundError());
+ printf("Signif.: %.5g #pm %.5g\n",GetSignificance(),GetSignificanceError());
+ printf("SoB : %.5g #pm %.5g\n",GetSignalOverBackground(),GetSignalOverBackgroundError());
+ if (GetMass()>0){
+ printf("Mass: %.5g #pm %.5g\n", GetMass(), GetMassError());
+ printf("Mass res.: %.5g #pm %.5g\n", GetMassWidth(), GetMassWidthError());
+ }
+}
+
+
+
+
Double_t GetIntegralMin() const { return fIntMin; }
Double_t GetIntegralMax() const { return fIntMax; }
- Double_t GetSignal() {return fValues(0);}
- Double_t GetBackground() {return fValues(1);}
- Double_t GetSignificance() {return fValues(2);}
- Double_t GetSignalOverBackground() {return fValues(3);}
- Double_t GetMass() {return fValues(4);}
- Double_t GetMassWidth() {return fValues(5);}
+ Double_t GetSignal() const {return fValues(0);}
+ Double_t GetBackground() const {return fValues(1);}
+ Double_t GetSignificance() const {return fValues(2);}
+ Double_t GetSignalOverBackground() const {return fValues(3);}
+ Double_t GetMass() const {return fValues(4);}
+ Double_t GetMassWidth() const {return fValues(5);}
- Double_t GetSignalError() {return fErrors(0);}
- Double_t GetBackgroundError() {return fErrors(1);}
- Double_t GetSignificanceError() {return fErrors(2);}
- Double_t GetSignalOverBackgroundError() {return fErrors(3);}
- Double_t GetMassError() {return fErrors(4);}
- Double_t GetMassWidthError() {return fValues(5);}
+ Double_t GetSignalError() const {return fErrors(0);}
+ Double_t GetBackgroundError() const {return fErrors(1);}
+ Double_t GetSignificanceError() const {return fErrors(2);}
+ Double_t GetSignalOverBackgroundError() const {return fErrors(3);}
+ Double_t GetMassError() const {return fErrors(4);}
+ Double_t GetMassWidthError() const {return fValues(5);}
void GetSignal(Double_t &val, Double_t &valErr) {val=fValues(0); valErr=fErrors(0);}
void GetBackground(Double_t &val, Double_t &valErr) {val=fValues(1); valErr=fErrors(1);}
*/
virtual void Process(TObjArray * const /*arrhist*/) = 0;
+ virtual void Print(Option_t *option="") const;
+
protected:
void SetSignificanceAndSOB();
"SSD2_signal",
"SDD1_signal",
"SDD2_signal",
+ "ITS_nSigma_Electrons",
+ "ITS_nSigma_Pions",
+ "ITS_nSigma_Muons",
+ "ITS_nSigma_Kaons",
+ "ITS_nSigma_Protons",
"P_InnerParam",
"TPC_signal",
"TPC_nSigma_Muons",
"TPC_nSigma_Kaons",
"TPC_nSigma_Protons",
+
"TOF_nSigma_Electrons",
"TOF_nSigma_Pions",
"TOF_nSigma_Muons",
kITSsignalSSD2, // SSD2 dE/dx signal
kITSsignalSDD1, // SDD1 dE/dx signal
kITSsignalSDD2, // SDD2 dE/dx signal
+ kITSnSigmaEle, // number of sigmas to the dE/dx electron line in the ITS
+ kITSnSigmaPio, // number of sigmas to the dE/dx pion line in the ITS
+ kITSnSigmaMuo, // number of sigmas to the dE/dx muon line in the ITS
+ kITSnSigmaKao, // number of sigmas to the dE/dx kaon line in the ITS
+ kITSnSigmaPro, // number of sigmas to the dE/dx proton line in the ITS
kPIn, // momentum at inner wall of TPC (if available), used for PID
kTPCsignal, // TPC dE/dx signal
values[AliDielectronVarManager::kTPCnSigmaKao]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kKaon);
values[AliDielectronVarManager::kTPCnSigmaPro]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kProton);
+ values[AliDielectronVarManager::kITSnSigmaEle]=fgESDpid->NumberOfSigmasITS(particle,AliPID::kElectron);
+ values[AliDielectronVarManager::kITSnSigmaPio]=fgESDpid->NumberOfSigmasITS(particle,AliPID::kPion);
+ values[AliDielectronVarManager::kITSnSigmaMuo]=fgESDpid->NumberOfSigmasITS(particle,AliPID::kMuon);
+ values[AliDielectronVarManager::kITSnSigmaKao]=fgESDpid->NumberOfSigmasITS(particle,AliPID::kKaon);
+ values[AliDielectronVarManager::kITSnSigmaPro]=fgESDpid->NumberOfSigmasITS(particle,AliPID::kProton);
+
Double_t t0=fgESDpid->GetTOFResponse().GetTimeZero();
values[AliDielectronVarManager::kTOFnSigmaEle]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kElectron,t0);
values[AliDielectronVarManager::kTOFnSigmaPio]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kPion,t0);
Double_t tpcNsigmaEle=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]) ,AliPID::kElectron);
-
Double_t tpcNsigmaPio=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kPion);
-
Double_t tpcNsigmaMuo=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kMuon);
-
Double_t tpcNsigmaKao=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kKaon);
-
Double_t tpcNsigmaPro=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kProton);
dielectron/AliDielectronSignalFunc.cxx \
dielectron/AliDielectronSignalExt.cxx \
dielectron/AliDielectronSpectrum.cxx \
- dielectron/AliDielectronDebugTree.cxx
+ dielectron/AliDielectronDebugTree.cxx \
+ dielectron/AliDielectronPID.cxx
HDRS= $(SRCS:.cxx=.h)