- Contact: Jean-Luc Charvet <jean-luc.charvet@cea.fr>
- Link: http://aliceinfo.cern.ch/static/Offline/dimuon/muon_html/README_Mchda
- Run Type: CALIBRATION
- DA Type: LDC
- Number of events needed: 400 events for each calibration run
- Input Files: Rawdata file (DATE format)
- Output Files: local dir (not persistent) -> MUONTRKGAINda_<run#>.par
- FXS -> run<#>_MCH_<ldc>_GAINS
- Trigger types used:
+ Contact: Jean-Luc Charvet <jean-luc.charvet@cea.fr>
+ Link: http://aliceinfo.cern.ch/static/Offline/dimuon/muon_html/README_Mchda
+ Run Type: CALIBRATION
+ DA Type: LDC
+ Number of events needed: 400 events for each calibration run
+ Input Files: Rawdata file (DATE format)
+ Output Files: local dir (not persistent) -> MUONTRKGAINda_<run#>.par
+ FXS -> run<#>_MCH_<ldc>_GAINS
+ Trigger types used:
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * *
- * Author: The ALICE Off-line Project. *
- * Contributors are mentioned in the code where appropriate. *
- * *
- * Permission to use, copy, modify and distribute this software and its *
- * documentation strictly for non-commercial purposes is hereby granted *
- * without fee, provided that the above copyright notice appears in all *
- * copies and that both the copyright notice and this permission notice *
- * appear in the supporting documentation. The authors make no claims *
- * about the suitability of this software for any purpose. It is *
- * provided "as is" without express or implied warranty. *
- **************************************************************************/
+* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+* *
+* Author: The ALICE Off-line Project. *
+* Contributors are mentioned in the code where appropriate. *
+* *
+* Permission to use, copy, modify and distribute this software and its *
+* documentation strictly for non-commercial purposes is hereby granted *
+* without fee, provided that the above copyright notice appears in all *
+* copies and that both the copyright notice and this permission notice *
+* appear in the supporting documentation. The authors make no claims *
+* about the suitability of this software for any purpose. It is *
+* provided "as is" without express or implied warranty. *
+**************************************************************************/
- //Gain object
- AliMUONGain* muonGain = new AliMUONGain();
- muonGain->SetprefixDA(prefixDA);
- muonGain->SetAliRootDataFileName(); // MUONTRKGAINda_data.root
- muonGain->SetAliPrintLevel(printLevel);
- muonGain->SetAliPlotLevel(plotLevel);
+ //Gain object
+ AliMUONGain* muonGain = new AliMUONGain();
+ muonGain->SetprefixDA(prefixDA);
+ muonGain->SetAliRootDataFileName(); // MUONTRKGAINda_data.root
+ muonGain->SetAliPrintLevel(printLevel);
+ muonGain->SetAliPlotLevel(plotLevel);
- if(nIndex==0) // compute gain from existing root data file: MUONTRKGAINda_data.root
- {
- sprintf(flatFile,"%s_data.log",prefixDA);
- logOutputFile=flatFile;
- filcout.open(logOutputFile.Data());
- muonGain->SetAlifilcout(&filcout);
-
- sprintf(flatFile,"%s_data.par",prefixDA);
- if(shuttleFile.IsNull())shuttleFile=flatFile;
-
- muonGain->SetAliIndex(nIndex); // fIndex
- muonGain->SetAliInit(nInit); // fnInit
- muonGain->SetAliNbpf1(nbpf1); // fnbpf1
- muonGain->MakeGainStore(shuttleFile);
- }
+ if(nIndex==0) // compute gain from existing root data file: MUONTRKGAINda_data.root
+ {
+ sprintf(flatFile,"%s_data.log",prefixDA);
+ logOutputFile=flatFile;
+ filcout.open(logOutputFile.Data());
+ muonGain->SetAlifilcout(&filcout);
- // DAC values stored in array vDAC (reading dbfile in DETDB)
- // Int_t vDAC[11] = {0,200,400,800,1200,1600,2000,2500,3000,3500,4000}; // DAC values
- Int_t vDAC[11]; // DAC values
- Char_t *dbfile;
- dbfile="muontrkcalibvalues.dat";
- cout << "\n *** Copy: " << dbfile << " from DetDB to working directory *** \n" << endl;
- status=daqDA_DB_getFile(dbfile,dbfile);
- ifstream filein(dbfile,ios::in); Int_t k=0, kk;
- while (k<nEntries ) { filein >> kk >> vDAC[k] ; k++; }
+ // DAC values stored in array vDAC (reading dbfile in DETDB)
+ // Int_t vDAC[11] = {0,200,400,800,1200,1600,2000,2500,3000,3500,4000}; // DAC values
+ Int_t vDAC[11]; // DAC values
+ Char_t *dbfile;
+ dbfile="mutrkcalibvalues";
+ cout << "\n *** Copy: " << dbfile << " from DetDB to working directory *** \n" << endl;
+ status=daqDA_DB_getFile(dbfile,dbfile);
+ ifstream filein(dbfile,ios::in); Int_t k=0, kk;
+ while (k<nEntries ) { filein >> kk >> vDAC[k] ; k++; }
- // Rawdeader, RawStreamHP
- AliRawReader* rawReader = AliRawReader::Create(inputFile);
- AliMUONRawStreamTrackerHP* rawStream = new AliMUONRawStreamTrackerHP(rawReader);
- rawStream->DisableWarnings();
- rawStream->EnabbleErrorLogger();
+ // Rawdeader, RawStreamHP
+ AliRawReader* rawReader = AliRawReader::Create(inputFile);
+ AliMUONRawStreamTrackerHP* rawStream = new AliMUONRawStreamTrackerHP(rawReader);
+ rawStream->DisableWarnings();
+ rawStream->EnabbleErrorLogger();
- delete rawReader;
- delete rawStream;
-
- // process and store mean peak values in .root file
- sprintf(flatFile,"%s_%d.par",prefixDA,runNumber);
- if(shuttleFile.IsNull())shuttleFile=flatFile;
- injCharge=vDAC[nIndex-1];
- muonGain->SetAliIndex(nIndex); // fIndex
- muonGain->SetAliInjCharge(injCharge);
- muonGain->SetAliNEvents(nEvents);
- muonGain->SetAliRunNumber(runNumber);
- muonGain->SetAliNChannel(nChannel);
- muonGain->MakePedStoreForGain(shuttleFile);
-
- // writing some counters
- cout << endl;
- 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 events recovered = " << nEventsRecovered<< endl;
- cout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
- cout << prefixDA << " : Nb of events used = " << nEvents << endl;
-
- filcout << endl;
- filcout << prefixDA << " : Nb of DATE events = " << nDateEvents << 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 events recovered = " << nEventsRecovered<< endl;
- filcout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
- filcout << prefixDA << " : Nb of events used = " << nEvents << endl;
-
- // Computing gain
- if(nIndex==nEntries)
+ delete rawReader;
+ delete rawStream;
+
+ // process and store mean peak values in .root file
+ sprintf(flatFile,"%s_%d.par",prefixDA,runNumber);
+ if(shuttleFile.IsNull())shuttleFile=flatFile;
+ injCharge=vDAC[nIndex-1];
+ muonGain->SetAliIndex(nIndex); // fIndex
+ muonGain->SetAliInjCharge(injCharge);
+ muonGain->SetAliNEvents(nEvents);
+ muonGain->SetAliRunNumber(runNumber);
+ muonGain->SetAliNChannel(nChannel);
+ muonGain->MakePedStoreForGain(shuttleFile);
+
+ // writing some counters
+ cout << endl;
+ 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 events recovered = " << nEventsRecovered<< endl;
+ cout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
+ cout << prefixDA << " : Nb of events used = " << nEvents << endl;
+
+ filcout << endl;
+ filcout << prefixDA << " : Nb of DATE events = " << nDateEvents << 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 events recovered = " << nEventsRecovered<< endl;
+ filcout << prefixDA << " : Nb of events without errors = " << nEvents-nEventsRecovered<< endl;
+ filcout << prefixDA << " : Nb of events used = " << nEvents << endl;
+
+ // Computing gain
+ if(nIndex==nEntries)
// ouput files
cout << endl;
cout << prefixDA << " : Root data file : " << muonGain->GetRootDataFileName() << endl;
cout << prefixDA << " : Output logfile : " << logOutputFile << endl;
cout << prefixDA << " : Gain Histo file : " << muonGain->GetHistoFileName() << endl;
cout << prefixDA << " : Gain file (to SHUTTLE) : " << shuttleFile << endl;
// ouput files
cout << endl;
cout << prefixDA << " : Root data file : " << muonGain->GetRootDataFileName() << endl;
cout << prefixDA << " : Output logfile : " << logOutputFile << endl;
cout << prefixDA << " : Gain Histo file : " << muonGain->GetHistoFileName() << endl;
cout << prefixDA << " : Gain file (to SHUTTLE) : " << shuttleFile << endl;