AliDebugClass(1,Form("runNumber is %d",runNumber));
}
}
- if ( sline.Contains("* nInit =") )
- {
- sscanf(line,"// * nInit = %d * f1nbp = %d * f2nbp = %d",&nInit,&f1nbp,&f2nbp);
- AliDebugClass(1,Form("nInit = %d",nInit));
- AliDebugClass(1,Form("f1nbp = %d",f1nbp));
- AliDebugClass(1,Form("f2nbp = %d",f2nbp));
- }
if ( sline.Contains("DAC values") )
{
nDAC = TString(sline(2,sline.Length()-2)).Atoi();
dac = new Int_t[nDAC];
// skip two lines
in.getline(line,1024);
+ sline = line;
+ if (!sline.Contains("* nInit ="))
+ {
+ AliErrorClass("Improper format : was expecting nInit= line...");
+ }
+ else
+ {
+ sscanf(line,"// * nInit = %d * f1nbp = %d * f2nbp = %d",&nInit,&f1nbp,&f2nbp);
+ AliDebugClass(1,Form("nInit = %d",nInit));
+ AliDebugClass(1,Form("f1nbp = %d",f1nbp));
+ AliDebugClass(1,Form("f2nbp = %d",f2nbp));
+ }
+ in.getline(line,1024);
in.getline(line,1024);
// then get run and dac values
Int_t iDAC(0);
/*
- Contact: Jean-Luc Charvet <jean-luc.charvet@cern.ch>
+ Contact: Jean-Luc Charvet <jean-luc.charvet@cern.ch>
Link: http://aliceinfo.cern.ch/static/Offline/dimuon/muon_html/README_mchda.html
- Reference Run: 104540
+ Reference Run: 109302 (station 3 only)
Run Type: PEDESTAL
DA Type: LDC
Number of events needed: 400 events for pedestal run
- Input Files: /alice/cern.ch/user/j/jcharvet/mutrkpedvalues and /alice/cern.ch/user/j/jcharvet/config_ldc-MTRK-S0-0
+ Input Files: mutrkpedvalues and config_ldc-MTRK-S3-0 in path : /afs/cern.ch/user/j/jcharvet/public/DA_validation
Output Files: local dir (not persistent) -> MUONTRKPEDda.ped FXS -> run<#>_MCH_<ldc>_PEDESTALS
Trigger types used:
*/
/*
-------------------------------------------------------------------------
- 2010-01-13 New version: MUONTRKPEDda.cxx,v 1.5
+ 2010-02-15 New version: MUONTRKPEDda.cxx,v 1.5
-------------------------------------------------------------------------
Version for MUONTRKPEDda MUON tracking
#include "AliMpConstants.h"
#include "AliRawDataErrorLog.h"
#include "AliMUONTrackerIO.h"
+#include "AliLog.h"
//ROOT
#include "TFile.h"
#include "AliMUONPedestal.h"
#include "AliMUONErrorCounter.h"
-
+
// main routine
int main(Int_t argc, const char **argv)
{
Int_t nGlitchErrors= 0;
Int_t nParityErrors= 0;
Int_t nPaddingErrors= 0;
+ Int_t nTokenlostErrors= 0;
Int_t recoverParityErrors = 1;
TString logOutputFile;
// Rawdeader, RawStreamHP
AliRawReader* rawReader = AliRawReader::Create(inputFile);
AliMUONRawStreamTrackerHP* rawStream = new AliMUONRawStreamTrackerHP(rawReader);
- rawStream->DisableWarnings();
+// rawStream->DisableWarnings();
rawStream->EnabbleErrorLogger();
+ //
+ // kLowErrorDetail, /// Logs minimal information in the error messages.
+ // kMediumErrorDetail, /// Logs a medium level of detail in the error messages.
+ // kHighErrorDetail /// Logs maximum information in the error messages.
+ // rawStream->SetLoggingDetailLevel(AliMUONRawStreamTrackerHP::kLowErrorDetail);
+ rawStream->SetLoggingDetailLevel(AliMUONRawStreamTrackerHP::kHighErrorDetail);
printf("\n %s : Reading data from file %s\n",prefixDA,inputFile.Data());
{
sprintf(flatFile,"%s.log",prefixDA);
logOutputFile=flatFile;
-
+ AliLog::SetStreamOutput(&filcout); // Print details on logfile
filcout.open(logOutputFile.Data());
filcout<<"//=================================================" << endl;
filcout<<"// " << prefixDA << " for run = " << runNumber << endl;
int eventGlitchErrors = 0;
int eventParityErrors = 0;
int eventPaddingErrors = 0;
+ int eventTokenlostErrors = 0;
rawStream->First();
do
{
eventGlitchErrors += rawStream->GetGlitchErrors();
eventParityErrors += rawStream->GetParityErrors();
eventPaddingErrors += rawStream->GetPaddingErrors();
+ eventTokenlostErrors += rawStream->GetTokenLostErrors();
} while(rawStream->NextDDL());
AliMUONRawStreamTrackerHP::AliBusPatch* busPatch;
// Events with errors
if (recoverParityErrors && eventParityErrors && !eventGlitchErrors&& !eventPaddingErrors)
{
+ filcout << " ----------- Date Event recovered = " << nDateEvents << " ----------------" << endl;
// Recover parity errors -> compute pedestal for all good buspatches
if ( TEST_SYSTEM_ATTRIBUTE( rawReader->GetAttributes(),
ATTR_ORBIT_BC ))
} //end of if (recoverParityErrors && eventParityErrors && !eventGlitchErrors&& !eventPaddingErrors)
else
{
+ filcout << " ----------- Date Event rejected = " << nDateEvents << " ----------------" << endl;
// Fatal errors reject the event
if ( TEST_SYSTEM_ATTRIBUTE( rawReader->GetAttributes(),
ATTR_ORBIT_BC ))
} // end of if (!rawStream->GetGlitchErrors() && !rawStream->GetPaddingErrors() ...
filcout<<"Number of errors : Glitch "<<eventGlitchErrors
<<" Parity "<<eventParityErrors
- <<" Padding "<<eventPaddingErrors<<endl;
+ <<" Padding "<<eventPaddingErrors
+ <<" Token lost "<<eventTokenlostErrors<<endl;
filcout<<endl;
} // end of if (!rawStream->IsErrorMessage())
if (eventGlitchErrors) nGlitchErrors++;
if (eventParityErrors) nParityErrors++;
if (eventPaddingErrors) nPaddingErrors++;
+ if (eventTokenlostErrors) nTokenlostErrors++;
} // while (rawReader->NextEvent())
delete rawReader;
cout << prefixDA << " : Nb of DATE events = " << nDateEvents << endl;
cout << prefixDA << " : Nb of Glitch errors = " << nGlitchErrors << endl;
cout << prefixDA << " : Nb of Parity errors = " << nParityErrors << endl;
- cout << prefixDA << " : Nb of Padding errors = " << nPaddingErrors << endl;
+ cout << prefixDA << " : Nb of Padding errors = " << nPaddingErrors << endl;
+ cout << prefixDA << " : Nb of Token lost errors = " << nTokenlostErrors << endl;
cout << prefixDA << " : Nb of events recovered = " << nEventsRecovered<< endl;
cout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
cout << prefixDA << " : Nb of events used = " << nEvents << endl;
filcout << prefixDA << " : Nb of Glitch errors = " << nGlitchErrors << endl;
filcout << prefixDA << " : Nb of Parity errors = " << nParityErrors << endl;
filcout << prefixDA << " : Nb of Padding errors = " << nPaddingErrors << endl;
+ filcout << prefixDA << " : Nb of Token lost errors = " << nTokenlostErrors << endl;
filcout << prefixDA << " : Nb of events recovered = " << nEventsRecovered<< endl;
filcout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
filcout << prefixDA << " : Nb of events used = " << nEvents << endl;