+
+ Int_t tdcData[32][4];
+ Float_t tdcCorr[32][4];
+ for(int ij=0; ij<32; ij++){
+ for(int ik=0; ik<4;ik++){
+ tdcData[ij][ik] = 9999.;
+ tdcCorr[ij][ik] = -9999./0.025;
+ }
+ }
+ Float_t tdcC=-9999./0.025, tdcA=-9999./0.025, tdcGate=-9999./0.025, tdcL0=-9999./0.025;
+ Float_t tdcDiff=-9999./0.025, tdcSum=-9999./0.025;
+ Float_t tdcZPC=-9999./0.025, tdcZPA=-9999./0.025;
+ Float_t tdcZEM1=-9999./0.025, tdcZEM2=-9999./0.025;
+ Float_t tdcZNCcorr=-9999./0.025, tdcZNAcorr=-9999./0.025;
+ //
+ for(Int_t itdc=0; itdc<21; itdc++){
+ for(Int_t j=0; j<4; j++){
+
+ tdcData[itdc][j] = esdZDC->GetZDCTDCData(itdc, j);
+ if(tdcData[itdc][j] == 0.) continue; //change in 9999
+
+ //printf(" TDC ch.%d hit %d: %f ns\n",itdc,j,0.025*esdZDC->GetZDCTDCData(itdc, j));
+ tdcCorr[itdc][j] = esdZDC->GetZDCTDCCorrected(itdc, j);
+ //printf(" %f ns\n",esdZDC->GetZDCTDCCorrected(itdc, j));
+ if(itdc==12 && j==0 && (tdcData[10][0]!=0. && tdcData[12][0]!=0.)){ //change in 9999!!!
+ tdcDiff = esdZDC->GetZDCTimeDiff();
+ tdcSum = esdZDC->GetZDCTimeSum();
+ }
+
+ if(itdc==8 && tdcData[itdc][j]!=0.){
+ tdcZEM1 = 0.025*(tdcData[itdc][j]);
+ }
+ else if(itdc==9 && tdcData[itdc][j]!=0.){
+ tdcZEM2 = 0.025*(tdcData[itdc][j]);
+ }
+ else if(itdc==10 && tdcData[itdc][j]!=0.){
+ tdcC = 0.025*(tdcData[itdc][j]);
+ tdcZNCcorr = tdcCorr[itdc][j];
+ hTDCcorr[0]->Fill(tdcZNCcorr);
+ }
+ else if(itdc==11 && tdcData[itdc][j]!=0.){
+ tdcZPC = 0.025*(tdcData[itdc][j]);
+ }
+ else if(itdc==12 && tdcData[itdc][j]!=0.){
+ tdcA = 0.025*(tdcData[itdc][j]);
+ tdcZNAcorr = tdcCorr[itdc][j];
+ hTDCcorr[1]->Fill(tdcZNAcorr);
+ }
+ else if(itdc==13 && tdcData[itdc][j]!=0.){
+ tdcZPA = 0.025*(tdcData[itdc][j]);
+ }
+ else if(itdc==14 && tdcData[itdc][j]!=0.){
+ tdcGate = 0.025*tdcData[itdc][j];
+ hTDC[3]->Fill(tdcGate);
+ }
+ else if(itdc==15 && tdcData[itdc][j]!=0.){
+ tdcL0 = 0.025*tdcData[itdc][j];
+ hTDC[2]->Fill(tdcL0);
+ //
+ if(tdcC!=-9999./0.025) hTDC[0]->Fill(tdcC-tdcL0);
+ if(tdcA!=-9999./0.025) hTDC[1]->Fill(tdcA-tdcL0);
+ if(tdcZPC!=-9999./0.025) hTDC[6]->Fill(tdcZPC-tdcL0);
+ if(tdcZPA!=-9999./0.025) hTDC[7]->Fill(tdcZPA-tdcL0);
+ if(tdcZEM1!=-9999./0.025) hTDC[8]->Fill(tdcZEM1-tdcL0);
+ if(tdcZEM2!=-9999./0.025) hTDC[9]->Fill(tdcZEM2-tdcL0);
+ if(tdcC!=-9999./0.025 && tdcA!=-9999./0.025 && tdcL0!=-9999./0.025){
+ tdcC = tdcC-tdcL0;
+ tdcA = tdcA-tdcL0;
+ hTDC[4]->Fill(tdcC+tdcA);
+ hTDC[5]->Fill(tdcC-tdcA);
+ //printf(" TDCdata: sum %f diff %f ", tdcC+tdcA, tdcC-tdcA);
+ //hDebunch->Fill(tdcC-tdcA+2.1, tdcC+tdcA+65.5);
+ }
+ if(tdcZNAcorr!=-9999./0.025 && tdcZNCcorr!=-9999./0.025 && tdcL0!=-9999./0.025){
+ hTDCcorr[2]->Fill(tdcZNCcorr-tdcZNAcorr);
+ hTDCcorr[3]->Fill(tdcZNCcorr+tdcZNAcorr);
+ hDebunch->Fill(tdcDiff, tdcSum);
+ //printf(" TDCcorr: sum %f diff %f (ns) \n", tdcSum, tdcDiff);
+ }
+ }
+ else if(itdc==18 && tdcData[itdc][j]!=0.){
+ hTDC[10]->Fill(0.025*tdcData[itdc][j]-tdcL0);
+ }
+ }
+ }//tdc scan
+
+
+ }//physics event
+