+ //
+ // Detector specific actions at end of cycle
+ //
+ //TStopwatch watch;
+ //watch.Start();
+
+ //AliInfo(Form("EndOfCycle", "Fitting RecPoints %d", task))
+ TH1D *hist = new TH1D("fitHist", "", 200, -0.5, 199.5);
+
+ if (task == AliQAv1::kRECPOINTS) {
+
+ //list->Print();
+
+ // Rec points full chambers
+ for (Int_t i=0; i<540; i++) {
+
+ //TH1D *h = ((TH2D*)list->At(1))->ProjectionY(Form("qaTRD_recPoints_amp_%d",i), i+1, i+1);
+ hist->Reset();
+ for(Int_t b=1; b<hist->GetXaxis()->GetNbins()-1; b++) {
+ Double_t xvalue = hist->GetBinCenter(b);
+ Int_t bin = ((TH2D*)list->At(1))->FindBin(i,xvalue);
+ Double_t value = ((TH2D*)list->At(1))->GetBinContent(bin);
+ hist->SetBinContent(b, value);
+ }
+
+ //printf("Sum = %d %f\n", i, hist->GetSum());
+ if (hist->GetSum() < 100) continue; // chamber not present
+
+ hist->Fit("landau", "q0", "goff", 10, 180);
+ TF1 *fit = hist->GetFunction("landau");
+ ((TH1D*)list->At(12))->Fill(fit->GetParameter(1));
+ ((TH1D*)list->At(13))->Fill(fit->GetParameter(2));
+ }
+
+ // time-bin by time-bin
+ for (Int_t i=0; i<540; i++) {
+
+ //TH1D *test = ((TH3D*)list->At(10))->ProjectionZ(Form("ampTime_%d",i), i+1, i+1, 0, 35);
+ //if (test->GetSum() < 100) continue;
+
+ //AliInfo(Form("fitting det = %d", i));
+
+ for(Int_t j=0; j<35; j++) {
+
+ //TH1D *h = ((TH3D*)list->At(10))->ProjectionZ(Form("ampTime_%d",i), i+1, i+1, j+1, j+1);
+ hist->Reset();
+ for(Int_t b=1; b<hist->GetXaxis()->GetNbins()-1; b++) {
+ Double_t xvalue = hist->GetBinCenter(b);
+ Int_t bin = ((TH3D*)list->At(10))->FindBin(i,j,xvalue);
+ Double_t value = ((TH3D*)list->At(10))->GetBinContent(bin);
+ //printf("v = %f\n", value);
+ hist->SetBinContent(b, value);
+ }
+
+ if (hist->GetSum() < 100) continue;
+ //printf("fitting %d %d %f\n", i, j, hist->GetSum());