+ UInt_t detsmnrowcol = 0;
+ Int_t det = 0, sm = 0, row = 0, col = 0;
+ Int_t idet = 0, ism = 0, irow = 0, icol = 0;
+ Float_t mean = 0., rms = 0.;
+ Double_t meansq = 0., diff = 0.;
+
+ FILE *fpw0 = fopen("pedestal2304.ped","w");
+ FILE *fpw1 = fopen("pedestal2305.ped","w");
+ FILE *fpw2 = fopen("pedestal2306.ped","w");
+ FILE *fpw3 = fopen("pedestal2307.ped","w");
+ FILE *fpw4 = fopen("pedestal2308.ped","w");
+ FILE *fpw5 = fopen("pedestal2309.ped","w");
+
+ fprintf(fpw0,"//=============================================\n");
+ fprintf(fpw0,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw0,"//=============================================\n");
+ fprintf(fpw0,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw0,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw0,"//---------------------------------------------\n");
+ fprintf(fpw0,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+ fprintf(fpw0,"//---------------------------------------------\n");
+
+ fprintf(fpw1,"//=============================================\n");
+ fprintf(fpw1,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw1,"//=============================================\n");
+ fprintf(fpw1,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw1,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw1,"//---------------------------------------------\n");
+ fprintf(fpw1,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+
+ fprintf(fpw2,"//=============================================\n");
+ fprintf(fpw2,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw2,"//=============================================\n");
+ fprintf(fpw2,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw2,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw2,"//---------------------------------------------\n");
+ fprintf(fpw2,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+ fprintf(fpw2,"//---------------------------------------------\n");
+
+ fprintf(fpw3,"//=============================================\n");
+ fprintf(fpw3,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw3,"//=============================================\n");
+ fprintf(fpw3,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw3,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw3,"//---------------------------------------------\n");
+ fprintf(fpw3,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+ fprintf(fpw3,"//---------------------------------------------\n");
+
+ fprintf(fpw4,"//=============================================\n");
+ fprintf(fpw4,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw4,"//=============================================\n");
+ fprintf(fpw4,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw4,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw4,"//---------------------------------------------\n");
+ fprintf(fpw4,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+ fprintf(fpw4,"//---------------------------------------------\n");
+
+ fprintf(fpw5,"//=============================================\n");
+ fprintf(fpw5,"// Pedestal file Calculated by Online DA\n");
+ fprintf(fpw5,"//=============================================\n");
+ fprintf(fpw5,"// RUN :%d\n",fRunNumber);
+ fprintf(fpw5,"// Statistics :%d\n",fEventNumber);
+ fprintf(fpw5,"//---------------------------------------------\n");
+ fprintf(fpw5,"//format:CHAIN_NO FEE_ID CHANNEL MEAN SIGMA\n");
+ fprintf(fpw5,"//---------------------------------------------\n");
+
+
+ for(Int_t iddl = 0; iddl < 6; iddl++)
+ {
+ for(Int_t ibus = 1; ibus < 51; ibus++)
+ {
+ for(Int_t imcm = 1; imcm < 25; imcm++)
+ {
+ for(Int_t ich = 0; ich < 64; ich++)
+ {
+
+ if (fPedChain[iddl][ibus][imcm][ich] != -1)
+ {
+ detsmnrowcol = (UInt_t)fPedChain[iddl][ibus][imcm][ich];
+
+ idet = detsmnrowcol & 0x00FF;
+ ism = (detsmnrowcol >> 8) & 0x00FF;
+ irow = (detsmnrowcol >> 16) & 0x00FF;
+ icol = (detsmnrowcol >> 24) & 0x00FF;
+
+ mean = 0.;
+ rms = 0.;
+ if (fPedCount[idet][ism][irow][icol] > 0)
+ {
+ mean = fPedVal[idet][ism][irow][icol]/fPedCount[idet][ism][irow][icol];
+
+ meansq = fPedValSq[idet][ism][irow][icol]/fPedCount[idet][ism][irow][icol];
+
+ diff = meansq - mean*mean;
+ if (diff > 0.)
+ {
+ rms = sqrt(diff);
+ }
+ else
+ {
+ rms = 0.;
+ }
+
+
+ if (iddl == 0)
+ {
+ fprintf(fpw0,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ else if (iddl == 1)
+ {
+ fprintf(fpw1,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ else if (iddl == 2)
+ {
+ fprintf(fpw2,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ else if (iddl == 3)
+ {
+ fprintf(fpw3,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ else if (iddl == 4)
+ {
+ fprintf(fpw4,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ else if (iddl == 5)
+ {
+ fprintf(fpw5,"%d %d %d %f %f\n",
+ ibus, imcm, ich, mean, rms);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+ fclose(fpw0);
+ fclose(fpw1);
+ fclose(fpw2);
+ fclose(fpw3);
+ fclose(fpw4);
+ fclose(fpw5);
+
+ pedtree->Branch("det",&det,"det/I");
+ pedtree->Branch("sm",&sm,"sm/I");
+ pedtree->Branch("row",&row,"row/I");
+ pedtree->Branch("col",&col,"col/I");
+ pedtree->Branch("mean",&mean,"mean/F");
+ pedtree->Branch("rms",&rms,"rms/F");
+
+ for (idet = 0; idet < kDet; idet++)
+ {
+ for (ism = 0; ism < kMaxSMN; ism++)
+ {
+ for (irow = 0; irow < kMaxRow; irow++)
+ {
+ for (icol = 0; icol < kMaxCol; icol++)
+ {
+ det = idet;
+ sm = ism;
+ row = irow;
+ col = icol;
+ mean = 0.;
+ rms = 0.;
+
+ if (fPedCount[idet][ism][irow][icol] > 0)
+ {
+ mean = fPedVal[idet][ism][irow][icol]/fPedCount[idet][ism][irow][icol];
+
+ meansq = fPedValSq[idet][ism][irow][icol]/fPedCount[idet][ism][irow][icol];
+
+ diff = meansq - mean*mean;
+ if (diff > 0.)
+ {
+ rms = sqrt(diff);
+ }
+ else
+ {
+ rms = 0.;
+ }
+ pedtree->Fill();
+ }
+
+ }
+ }
+ }
+ }