void plot(const int ista=1, const char *fname="result.root") { TFile *inFile = TFile::Open(fname); // constants for arrays const int kNChan = 32; const int kNQR = 26; const int kNVRef = 6; const int kNACurr = 5; const int kNSync = 8; TTree *tree = (TTree*) inFile->Get("tree"); TCanvas *c1 = new TCanvas("c1","c1"); c1->SetLogy(1); char cutstr[100]; sprintf(cutstr,"iSync>200&&iSync<300&&iSta==%d", ista); const int kNHistMax = 50; TH1F *h[kNHistMax]; int nbins[kNHistMax] = { 100 }; float min[kNHistMax] = { 0 }; float max[kNHistMax] = { 100 }; // vector hTitle; vector hFill; int nHists = 0; hTitle.push_back("VDDA (V)"); min[nHists] = 1.2; max[nHists] = 1.3; hFill.push_back("fVRef[0]"); nHists++; hTitle.push_back("VREF (V)"); min[nHists] = 1.07; max[nHists] = 1.11; hFill.push_back("fVRef[1]"); nHists++; hTitle.push_back("VDD (V)"); min[nHists] = 1.2; max[nHists] = 1.3; hFill.push_back("fVRef[2]"); nHists++; hTitle.push_back("V450 (V)"); min[nHists] = 0.45; max[nHists] = 0.55; hFill.push_back("fVRef[3]"); nHists++; hTitle.push_back("V600 (V)"); min[nHists] = 0.6; max[nHists] = 0.7; hFill.push_back("fVRef[4]"); nHists++; hTitle.push_back("V750 (V)"); min[nHists] = 0.75; max[nHists] = 0.85; hFill.push_back("fVRef[5]"); nHists++; hTitle.push_back("FE1_CURR (V)"); min[nHists] = 0.25; max[nHists] = 0.55; hFill.push_back("fVCurr[0]"); nHists++; hTitle.push_back("FE2_CURR (V)"); min[nHists] = 0.2; max[nHists] = 0.4; hFill.push_back("fVCurr[1]"); nHists++; hTitle.push_back("AD_CURR (V)"); min[nHists] = 0.0; max[nHists] = 0.2; hFill.push_back("fVCurr[2]"); nHists++; hTitle.push_back("DR_CURR (V)"); min[nHists] = 0.1; max[nHists] = 0.2; hFill.push_back("fVCurr[3]"); nHists++; hTitle.push_back("DG_CURR (V)"); min[nHists] = 0.00; max[nHists] = 0.04; hFill.push_back("fVCurr[4]"); nHists++; hTitle.push_back("FE1_CURR (mA)"); min[nHists] = 80; max[nHists] = 110; hFill.push_back("fACurr[0]"); nHists++; hTitle.push_back("FE2_CURR (mA)"); min[nHists] = 50; max[nHists] = 80; hFill.push_back("fACurr[1]"); nHists++; hTitle.push_back("AD_CURR (mA)"); min[nHists] = 0; max[nHists] = 50; hFill.push_back("fACurr[2]"); nHists++; hTitle.push_back("DR_CURR (mA)"); min[nHists] = 30; max[nHists] = 60; hFill.push_back("fACurr[3]"); nHists++; hTitle.push_back("DG_CURR (mA)"); min[nHists] = 10; max[nHists] = 50; hFill.push_back("fACurr[4]"); nHists++; hTitle.push_back("Gain20mV (mV/fC)"); min[nHists] = 18; max[nHists] = 22; hFill.push_back("fGain20mV"); nHists++; hTitle.push_back("Gain30mV (mV/fC)"); min[nHists] = 27; max[nHists] = 33; hFill.push_back("fGain30mV"); nHists++; hTitle.push_back("RiseTime20mV (ns)"); min[nHists] = 150; max[nHists] = 190; hFill.push_back("fRT20mV"); nHists++; hTitle.push_back("RiseTime30mV (ns)"); min[nHists] = 150; max[nHists] = 190; hFill.push_back("fRT30mV"); nHists++; hTitle.push_back("Ped20mV (mV/fC)"); min[nHists] = -0.5; max[nHists] = 150.5; nbins[nHists] = 151; hFill.push_back("fPed20mV"); nHists++; hTitle.push_back("Ped30mV (mV/fC)"); min[nHists] = -0.5; max[nHists] = 150.5; nbins[nHists] = 151; hFill.push_back("fPed30mV"); nHists++; hTitle.push_back("Rms20mV (mV/fC)"); min[nHists] = 0; max[nHists] = 5; hFill.push_back("fRms20mV"); nHists++; hTitle.push_back("Rms30mV (mV/fC)"); min[nHists] = 0; max[nHists] = 5; hFill.push_back("fRms30mV"); nHists++; hTitle.push_back("PedAna20mV (mV/fC)"); min[nHists] = -0.5; max[nHists] = 150.5; nbins[nHists] = 151; hFill.push_back("fPedAna20mV"); nHists++; hTitle.push_back("PedAna30mV (mV/fC)"); min[nHists] = -0.5; max[nHists] = 150.5; nbins[nHists] = 151; hFill.push_back("fPedAna30mV"); nHists++; hTitle.push_back("RmsAna20mV (mV/fC)"); min[nHists] = 0; max[nHists] = 5; hFill.push_back("fRmsAna20mV"); nHists++; hTitle.push_back("RmsAna30mV (mV/fC)"); min[nHists] = 0; max[nHists] = 5; hFill.push_back("fRmsAna30mV"); nHists++; hTitle.push_back("X20mVeven"); min[nHists] = 0; max[nHists] = 0.2; hFill.push_back("fX20mVeven"); nHists++; hTitle.push_back("X30mVeven"); min[nHists] = 0; max[nHists] = 0.2; hFill.push_back("fX30mVeven"); nHists++; hTitle.push_back("X20mVodd"); min[nHists] = 0; max[nHists] = 0.2; hFill.push_back("fX20mVodd"); nHists++; hTitle.push_back("X30mVodd"); min[nHists] = 0; max[nHists] = 0.2; hFill.push_back("fX30mVodd"); nHists++; hTitle.push_back("RingOsc"); min[nHists] = 130; max[nHists] = 170; hFill.push_back("fRingOsc"); nHists++; /* // Print Strings stored in Vector for (int i=0; icd(1); sprintf(fillstr,"%s >> %s", hFill[j].c_str(), id), tree->Draw(fillstr, cutstr); c1->Modified(); sprintf(id, "png/cuts2/sta%d_%s.png", ista, hFill[j].c_str()); c1->SaveAs(id); double mean = h[j]->GetMean(); double rms = h[j]->GetRMS(); double minCut = mean - kNSigma*rms; double maxCut = mean + kNSigma*rms; if (minCutmax[j]) maxCut=max[j]; fprintf(fout, "%20s %8.3f %8.3f %8.3f %8.3f\n", hTitle[j].c_str(), mean, rms, minCut, maxCut); } fclose(fout); }