fRmsVertex(0)
{
//
-
+ for(Int_t i=0; i<24; i++) {
+ fTimeEq[i] = 0; // Time Equalized for OCDB
+ fTimeEqRms[i] = -1; // RMS of Time Equalized for OCDB
+ for (Int_t ih=0; ih<5; ih++) fCFDvalue[i][ih] = 0;
+ }
}
//________________________________________________________________
namst += name;
SetName(namst.Data());
SetTitle(namst.Data());
+ for(Int_t i=0; i<24; i++) {
+ fTimeEq[i] = 0; // Time Equalized for OCDB
+ fTimeEqRms[i] = -1; // RMS of Time Equalized for OCDB
+ for (Int_t ih=0; ih<5; ih++) fCFDvalue[i][ih] = 0;
+ }
}
//________________________________________________________________
// copy constructor
SetName(calibda.GetName());
SetTitle(calibda.GetName());
-
+ ((AliT0CalibTimeEq &) calibda).Copy(*this);
}
SetName(calibda.GetName());
SetTitle(calibda.GetName());
+ if (this != &calibda) (( AliT0CalibTimeEq &) calibda).Copy(*this);
return *this;
}
printf("\n ---- PM Arrays ----\n\n");
printf(" Time delay CFD \n");
- for (Int_t i=0; i<24; i++) printf(" CFD %f ",fTimeEq[i]);
- printf("\n Mean Vertex %f \n", fMeanVertex);
+ for (Int_t i=0; i<24; i++)
+ printf(" CFD %f diff %f \n",fCFDvalue[i][0],fTimeEq[i]);
}
Int_t okdiff=0;
Int_t oktime=0;
Bool_t ok=false;
+ //
gFile = TFile::Open(filePhys);
if(!gFile) {
AliError("No input PHYS data found ");
ok=true;
for (Int_t i=0; i<24; i++)
{
-
meandiff = sigmadiff = meanver = meancfdtime = sigmacfdtime =0;
- TH1F *cfd = (TH1F*) gFile->Get(Form("CFD1minCFD%d",i+1));
+ TH1F *cfd = (TH1F*) gFile->Get(Form("CFD1minCFD%d",i+1));
TH1F *cfdtime = (TH1F*) gFile->Get(Form("CFD%d",i+1));
if(!cfd) {
AliWarning(Form("no Diff histograms collected by PHYS DA for channel %i", i));
}
if(cfd) {
nent = Int_t(cfd->GetEntries());
- if( nent<=50 || cfd->GetRMS() == 0 || cfd->GetMean() ) {
+ if( nent<=50) {
okdiff++;
+ // printf(" pmt %i nent %i cfd->GetRMS() %f cfd->GetMean() %f \n",
+ // i, nent, cfd->GetRMS(), cfd->GetMean() );
if(okdiff<4) {
meandiff = 0;
sigmadiff = 0;
}
else
{
+ // printf(" OK fsle:: pmt %i nent %i cfd->GetRMS() %f cfd->GetMean() %f \n",
+ // i, nent, cfd->GetRMS(), cfd->GetMean() );
AliWarning(Form(" Not enouph data in PMT %i- PMT1: %i ", i, nent));
ok = false;
}
if(cfdtime) {
nent = Int_t(cfdtime->GetEntries());
- if( nent<=50 || cfdtime->GetRMS() == 0 || cfdtime->GetMean() ) {
+ if( nent<=50 ) {
oktime++;
if(oktime<4) {
meancfdtime = 0;
ok = false;
}
}
- if(nent > 50 ) { //!!!!!!!!!!
+ if(nent > 50 ) { //!!!!!!!!!!
if(cfdtime->GetRMS()>1.5 )
GetMeanAndSigma(cfdtime,meancfdtime, sigmacfdtime);
if(cfdtime->GetRMS()<=1.5)
{
+ if(cfdtime->GetRMS()==0 ||cfdtime->GetMean()==0 ) {
+ ok = false;
+ }
meancfdtime = cfdtime->GetMean();
sigmacfdtime = cfdtime->GetRMS();
}
if (cfd) delete cfd;
if (cfdtime) delete cfdtime;
}
- TH1F *ver = (TH1F*) gFile->Get("hVertex");
+ TH1F *ver = (TH1F*) gFile->Get("hVertex") ;
if(ver) {
meanver = ver->GetMean();
rmsver = ver->GetRMS();
}
SetMeanVertex(meanver);
SetRmsVertex(rmsver);
-
gFile->Close();
delete gFile;
-
}
return ok;
}
//________________________________________________________________
- Int_t AliT0CalibTimeEq::ComputeOfflineParams(const char* filePhys, Float_t *timecdb, Float_t *cfdvalue, Int_t badpmt)
+Int_t AliT0CalibTimeEq::ComputeOfflineParams(const char* filePhys, Float_t *timecdb, Float_t *cfdvalue, Int_t badpmt)
{
// fStatus implementation:
//ok means
Int_t okcfd=0;
TH1F *cfddiff = NULL;
TH1F *cfdtime = NULL;
- TObjArray * TzeroObj = NULL;
+ TObjArray * tzeroObj = NULL;
gFile = TFile::Open(filePhys);
if(!gFile) {
else
{
meandiff = sigmadiff = meanver = meancfdtime = sigmacfdtime =0;
- TDirectory *dr = (TDirectory*) gFile->Get("T0Calib");
- if (dr) TzeroObj = (TObjArray*) dr->Get("T0Calib");
+ // TDirectory *dr = (TDirectory*) gFile->Get("T0Calib");
+ tzeroObj = dynamic_cast<TObjArray*>(gFile->Get("T0Calib"));
for (Int_t i=0; i<24; i++)
{
- if (i != badpmt) {
- if(TzeroObj) {
- cfddiff = (TH1F*)TzeroObj->FindObject(Form("CFD1minCFD%d",i+1));
- cfdtime = (TH1F*)TzeroObj->FindObject(Form("CFD%d",i+1));
+ if (i != badpmt) {
+ if(tzeroObj) {
+ cfddiff = (TH1F*) tzeroObj->FindObject(Form("CFD1minCFD%d",i+1));
+ cfdtime = (TH1F*)tzeroObj->FindObject(Form("CFD%d",i+1));
}
else
{
if (cfddiff) cfddiff->Reset();
if (cfdtime) cfdtime->Reset();
} //bad pmt
- }
-
+ }
gFile->Close();
delete gFile;
-
}
return ok;
}