-
- for (Int_t ik = 24; ik<48; ik+=2)
- for (Int_t iHt=0; iHt<5; iHt++){
- Int_t cc = ik/2;
- if(allData[cc+45][iHt]!=0 ){
- hCFD1_CFD[cc]->Fill(allData[cc+45][iHt]-allData[57][iHt]);
- hCFD[cc]->Fill(allData[cc+45][iHt]);
- }
+ Float_t besttimeA=9999999;
+ Float_t besttimeC=9999999;
+ Float_t time[24];
+ Float_t meanShift[24];
+ for (Int_t ik = 0; ik<24; ik++)
+ {
+ if( ( chargeQT0[ik] - chargeQT1[ik])>0) {
+ adc = chargeQT0[ik] - chargeQT1[ik];
+ // cout<<ik <<" "<<adc<<endl;
+ }
+ if(gramp[ik])
+ amp = gramp[ik]->Eval(Double_t(adc));
+ if(amp < 0.8) continue;
+ if(gr[ik])
+ walk = Int_t(gr[ik]->Eval(Double_t(adc) ) );
+
+ if(ik<12 && allData[ik+1][0]>0 && allData[knpmtC][0]>0 ){
+ hCFD1minCFD[ik]->Fill(allData[ik+1][0]-allData[knpmtC][0]);
+ if( walk >-100) hCFD[ik]->Fill(allData[ik+1][0] - walk);
+ // cout<<ik<<" "<<allData[ik+1][0]<<" adc "<<adc<<" walk "<<walk<<endl;
+ }
+
+ if(ik>11 && allData[ik+45][0]>0 && allData[56+knpmtA][0]>0 )
+ {
+ hCFD1minCFD[ik]->Fill(allData[ik+45][0]-allData[56+knpmtA][0]);
+ if( walk >-100) hCFD[ik]->Fill(allData[ik+45][0] - walk);
+ // cout<<ik<<" "<<allData[ik+1][0]<<" adc "<<adc<<" walk "<<walk<<endl;
+ }
+ if(iev == 10000) {
+ meanShift[ik] = hCFD1minCFD[ik]->GetMean();
+ if(ik==knpmtC || ik==(56+knpmtA)) meanShift[ik]=0;
+ }
+ }
+ //fill mean time _ fast reconstruction
+ if (iev > 10000 )
+ {
+ for (Int_t in=0; in<12; in++)
+ {
+ time[in] = allData[in+1][0] - meanShift[in] ;
+ time[in+12] = allData[in+56+1][0] ;
+ }
+ for (Int_t ipmt=0; ipmt<12; ipmt++){
+ if(time[ipmt] > 1 ) {
+ if(time[ipmt]<besttimeC)
+ besttimeC=time[ipmt]; //timeC
+ }
+ }
+ for ( Int_t ipmt=12; ipmt<24; ipmt++){
+ if(time[ipmt] > 1) {
+ if(time[ipmt]<besttimeA)
+ besttimeA=time[ipmt]; //timeA
+ }
+ }
+ if(besttimeA<9999999 &&besttimeC< 9999999) {
+ Float_t t0 =0.001* 24.4 * Float_t( besttimeA+besttimeC)/2.;
+ hVertex->Fill(t0);
+ }