void plotallped(int chip = 0,const char *title = "",const char *filelist = "allped.txt") { char name[100]; Char_t iChan; // Channel number Char_t iChip; // Channel number UShort_t iClLength; //number of samples UInt_t iEventnb; Int_t iSamples[1024]; // Samples Int_t iMax = 0; Int_t nRun; TH1F* hSignal[16]; TCanvas *c1 = new TCanvas("c1","Single cluster",600,600); TChain ch("tree"); FILE *in = fopen(filelist,"r"); while (fscanf(in,"%s",name) != EOF) { ch.Add(name); sscanf(name,"readout-%d_0.root",&nRun); cout << "Added file: " << name << "Run " << nRun << "\n"; } fclose(in); // Assign variables to branches ch.SetBranchAddress("iEventnb",&iEventnb); ch.SetBranchAddress("iSamples",&iSamples); ch.SetBranchAddress("iChan",&iChan); ch.SetBranchAddress("iChip",&iChip); ch.SetBranchAddress("iClLength",&iClLength); c1->Divide(4,4); Int_t nentries = ch.GetEntries(); printf("ENTRIES %d\n",nentries); for (Int_t j = 0; j < 16; j++) { sprintf(name, "hSignal_%d", j); hSignal[j] = ((TH1F *)(gROOT->FindObject(name))); if (hSignal[j]) delete hSignal[j]; hSignal[j] = new TH1F(name, "",1024,-0.5,1023.5); hSignal[j]->SetMinimum(0); // hSignal[j]->SetMaximum(1024); } gStyle->SetOptStat(1100); for (Int_t j = 0; j < nentries; j++) { ch.GetEntry(j); // if (iEventnb < 600) { for(Int_t l = 40; l < iClLength - 40; l++) { hSignal[iChan]->Fill(iSamples[l]); } // } } for (Int_t j = 0; j < 16; j++) { c1->cd(j+1); sprintf(name, "Pedestals ch %d chip %d %s", j,chip,title); hSignal[j]->SetTitle(name); hSignal[j]->GetYaxis()->SetTitle("Entries"); hSignal[j]->GetXaxis()->SetTitle("ADC value"); hSignal[j]->SetAxisRange(0, 100, "X"); hSignal[j]->Draw(); printf("%d %d\t%5.2f\t%5.3f\t%5.1f\n",j+iChip*16,(int)hSignal[j]->GetMean(),hSignal[j]->GetMean(),hSignal[j]->GetRMS(),hSignal[j]->GetEntries()); } sprintf(name,"ch-all-chip%d-ped-%d-%s.pdf",chip,nRun,title); c1->SaveAs(name); }