/////////////////////////////////////////////////////////////////////////////// #include "OfflineMon/TPbMon.hh" ClassImp(TPbMon) //_____________________________________________________________________________ TPbMon::TPbMon() { // fFuncEp = new TF1("func_ep",f_ep,0.85,1.9,4); // fFuncEp->SetParNames("scale","offset","constant","thr"); fHist.fZeeMass = 0; fHist.fZmmMass = 0; Clear(); } //_____________________________________________________________________________ TPbMon::~TPbMon() { // delete fFuncEp; } //_____________________________________________________________________________ void TPbMon::Clear(const char* Option) { fMinRun = -1; fMaxRun = -1; fLumiTape = 0; fNZee.fVal = 0; fNZee.fErr = -1; fZeeMass.fVal = 0; fZeeMass.fErr = -1; fZmmMass.fVal = 0; fZmmMass.fErr = -1; fEOverP = -1.; fSigEOverP = -1; fEoverPincMean = -1.; fEoverPincN = -1.; fEoverPincErr = -1.; fEoverPNEMean = -1.; fEoverPNEN = -1.; fEoverPNEErr = -1.; fEoverPNWMean = -1.; fEoverPNWN = -1.; fEoverPNWErr = -1.; //----------------------------------------------------------------------------- // reset the histograms //----------------------------------------------------------------------------- if (fHist.fZeeMass) fHist.fZeeMass->Reset(); if (fHist.fZmmMass) fHist.fZmmMass->Reset(); } //_____________________________________________________________________________ int TPbMon::FitHistograms() { TF1* ff; //----------------------------------------------------------------------------- // Z->ee //----------------------------------------------------------------------------- fHist.fZeeMass->Fit("gaus","l","",61,121); ff = fHist.fZeeMass->GetFunction("gaus"); fNZee.fVal = ff->GetParameter(0)*TMath::Sqrt(2.*TMath::Pi())*ff->GetParameter(2); //----------------------------------------------------------------------------- // this is obviosly wrong, but to get correlation term right one needs to do // some coding. Later. //----------------------------------------------------------------------------- fNZee.fErr = TMath::Sqrt(2.*TMath::Pi())* TMath::Sqrt(ff->GetParError(0)*ff->GetParError(0)+ ff->GetParError(2)*ff->GetParError(2)); fZeeMass.fVal = ff->GetParameter(1); fZeeMass.fErr = ff->GetParError(1); fZeeWidth.fVal = ff->GetParameter(2); fZeeWidth.fErr = ff->GetParError (2); if (fHist.fZmmMass) { //----------------------------------------------------------------------------- // Z->mm //----------------------------------------------------------------------------- fHist.fZmmMass->Fit("gaus"); ff = fHist.fZmmMass->GetFunction("gaus"); fNZmm.fVal = ff->GetParameter(0)*TMath::Sqrt(2.*TMath::Pi())*ff->GetParameter(2); fNZmm.fErr = TMath::Sqrt(2.*TMath::Pi())* TMath::Sqrt(ff->GetParError(0)*ff->GetParError(0)+ ff->GetParError(2)*ff->GetParError(2)); fZmmMass.fVal = ff->GetParameter(1); fZmmMass.fErr = ff->GetParError(1); fZmmWidth.fVal = ff->GetParameter(2); fZmmWidth.fErr = ff->GetParError (2); } fCalendarTime = 0; return 0; }