+
+ AliFMDCalibSampleRate* sampleRate = new AliFMDCalibSampleRate();
+ AliFMDCalibStripRange* stripRange = new AliFMDCalibStripRange();
+
+ fmdReader->ReadSODevent(sampleRate,stripRange,fPulseSize,fPulseLength);
+
+ // Sample Rate
+ /*
+ UShort_t defSampleRate = 4;
+ UShort_t sampleRateFromSOD;
+
+ AliFMDCalibSampleRate* sampleRate = new AliFMDCalibSampleRate();
+
+ UShort_t firstStrip = 0;
+ UShort_t lastStrip = 127;
+ UShort_t firstStripSOD;
+ UShort_t lastStripSOD;
+ AliFMDCalibStripRange* stripRange = new AliFMDCalibStripRange();
+
+ for(Int_t det=1;det<=3;det++) {
+ UShort_t FirstRing = (det == 1 ? 1 : 0);
+ for (UShort_t ir = FirstRing; ir < 2; ir++) {
+ Char_t ring = (ir == 0 ? 'O' : 'I');
+ UShort_t nsec = (ir == 0 ? 40 : 20);
+ for(UShort_t sec =0; sec < nsec; sec++) {
+ sampleRateFromSOD = defSampleRate;
+ sampleRate->Set(det,ring,sec,0,sampleRateFromSOD);
+ firstStripSOD = firstStrip;
+ lastStripSOD = lastStrip;
+ stripRange->Set(det,ring,sec,0,firstStripSOD,lastStripSOD);
+
+ }
+ }
+ }
+ */
+ sampleRate->WriteToFile(fConditionsFile);
+ stripRange->WriteToFile(fConditionsFile);
+ //pars->SetSampleRate(sampleRate);
+ //pars->SetStripRange(stripRange);
+
+
+ // Zero Suppresion
+
+ // Strip Range
+
+ fConditionsFile.write("# Gain Events \n",15);
+
+ for(UShort_t det=1; det<=3;det++) {
+ UShort_t firstring = (det == 1 ? 1 : 0);
+ for(UShort_t iring = firstring; iring <=1;iring++) {
+ Char_t ring = (iring == 1 ? 'I' : 'O');
+ for(UShort_t board =0 ; board <=1; board++) {
+
+ Int_t idx = GetHalfringIndex(det,ring,board);
+
+ fConditionsFile << det << ','
+ << ring << ','
+ << board << ','
+ << fPulseLength.At(idx) << "\n";
+
+ }
+ }
+ }
+
+ fConditionsFile.write("# Gain Pulse \n",14);
+
+ for(UShort_t det=1; det<=3;det++) {
+ UShort_t firstring = (det == 1 ? 1 : 0);
+ for(UShort_t iring = firstring; iring <=1;iring++) {
+ Char_t ring = (iring == 1 ? 'I' : 'O');
+ for(UShort_t board =0 ; board <=1; board++) {
+
+ Int_t idx = GetHalfringIndex(det,ring,board);
+
+ fConditionsFile << det << ','
+ << ring << ','
+ << board << ','
+ << fPulseSize.At(idx) << "\n";
+
+ }
+ }
+ }
+
+
+
+ // Gain Relevant stuff
+ /*
+ UShort_t defPulseSize = 32 ;
+ UShort_t defPulseLength = 100 ;
+ UShort_t pulseSizeFromSOD;
+ UShort_t pulseLengthFromSOD;
+
+ fPulseSize.Reset(defPulseSize);
+ fPulseLength.Reset(defPulseLength);
+
+ for(UShort_t det=1;det<=3;det++)
+ for(UShort_t iring=0;iring<=1;iring++)
+ for(UShort_t board=0;board<=1;board++) {
+ pulseSizeFromSOD = defPulseSize;
+ pulseLengthFromSOD = defPulseLength;
+
+ fPulseSize.AddAt(pulseSizeFromSOD,GetHalfringIndex(det,iring,board));
+ fPulseLength.AddAt(pulseLengthFromSOD,GetHalfringIndex(det,iring,board));
+ }
+
+
+ // fConditionsFile << defSampleRate << ','
+ // << timebins <<"\n";
+ */
+ if(fConditionsFile.is_open()) {
+
+ fConditionsFile.write("# EOF\n",6);
+ fConditionsFile.close();