void DoCompare( char *Current, char *Reference=0 ){ TText* te = new TText(); te->SetTextSize(0.1); gROOT->ProcessLine(".x HistoCompare.C"); HistoCompare * myPV = new HistoCompare(); TFile * curfile = new TFile( TString(Current)+".root" ); TFile * reffile = curfile; if (Reference) reffile = new TFile(TString(Reference)+".root"); char * prefix="DQMData/MixingV/"; //1-Dimension Histogram TDirectory * refDir=reffile->GetDirectory(prefix); TDirectory * curDir=curfile->GetDirectory(prefix); TList* list = refDir->GetListOfKeys(); TObject* object = list->First(); int iHisto = 0; char title[50]; while (object) { // find histo objects TH1F * h1 = dynamic_cast<TH1F*>( refDir->Get(object->GetName())); TH1F * h2 = dynamic_cast<TH1F*>( curDir->Get(object->GetName())); bool isHisto = (refDir->Get(object->GetName()))->InheritsFrom("TH1F"); if (isHisto && h1 && h2 && *h1->GetName()== *h2->GetName()) { iHisto++; char title[50]; // draw and compare TCanvas c1; TH1F htemp2; h2->Copy(htemp2);// to keep 2 distinct histos h1->SetLineColor(2); htemp2.SetLineColor(3); h1->SetLineStyle(3); htemp2.SetLineStyle(5); TLegend leg(0.1, 0.15, 0.2, 0.25); leg.AddEntry(h1, "Reference", "l"); leg.AddEntry(&htemp2, "New ", "l"); h1->Draw(); htemp2.Draw("Same"); leg.Draw(); myPV->PVCompute(h1,&htemp2, te); sprintf(title,"%s%s", object->GetName(),".eps"); c1.Print(title); } // go to next object object = list->After(object); } }
void DetailedComparePlot(TH1 * href_, TH1 * hnew_, TString currentfile, TString referencefile, TString theDir, TString theHisto ) { gStyle->SetOptTitle(0); TString theName = theDir+"/"+theHisto; std::cout << "Histogram name = " << theName << std::endl; HistoCompare * myPV = new HistoCompare(); int rcolor = 2; int scolor = 4; int rmarker = 21; int smarker = 20; Double_t markerSize = 0.75; href_->SetLineColor(rcolor); href_->SetMarkerStyle(rmarker); href_->SetMarkerSize(markerSize); href_->SetMarkerColor(rcolor); hnew_->SetLineColor(scolor); hnew_->SetMarkerStyle(smarker); hnew_->SetMarkerSize(markerSize); hnew_->SetMarkerColor(scolor); TCanvas *myPlot = 0; if ( href_ && hnew_ ) { myPlot = new TCanvas("myPlot","Histogram comparison",200,10,700,900); TPad *pad0 = new TPad("pad0","The pad with the function ",0.0,0.9,0.0,1.0); TPad *pad1 = new TPad("pad1","The pad with the function ",0.0,0.6,0.5,0.9); TPad *pad2 = new TPad("pad2","The pad with the histogram",0.5,0.6,1.0,0.9); TPad *pad3 = new TPad("pad3","The pad with the histogram",0.0,0.3,0.5,0.6); TPad *pad4 = new TPad("pad4","The pad with the histogram",0.5,0.3,1.0,0.6); TPad *pad5 = new TPad("pad5","The pad with the histogram",0.0,0.0,0.5,0.3); TPad *pad6 = new TPad("pad6","The pad with the histogram",0.5,0.0,1.0,0.3); pad1->Draw(); pad2->Draw(); pad3->Draw(); pad4->Draw(); pad5->Draw(); pad6->Draw(); // Draw a global picture title TText titte; titte.SetTextSize(0.02); titte.DrawTextNDC(0.1,0.98,theName); titte.DrawTextNDC(0.1,0.96,"Reference File (A):"); titte.DrawTextNDC(0.1,0.94,referencefile); titte.DrawTextNDC(0.1,0.92,"Current File (B):"); titte.DrawTextNDC(0.1,0.90,currentfile); hnew_->SetXTitle(href_->GetTitle()); href_->SetXTitle(href_->GetTitle()); hnew_->SetTitleOffset(1.5,"Y"); href_->SetTitleOffset(1.5,"Y"); // Draw reference pad1->cd(); href_->SetYTitle("Events (A)"); href_->DrawCopy("e1"); // Draw new pad2->cd(); hnew_->SetYTitle("Events (B)"); hnew_->DrawCopy("e1"); gStyle->SetOptStat("nemruoi"); // Draw the two overlayed Normalized display region to 1 pad3->cd(); pad3->SetGridx(); pad3->SetGridy(); TH1 *hnew_c=(TH1*)hnew_->Clone(); TH1 *href_c=(TH1*)href_->Clone(); double integral=href_c->Integral(1,href_c->GetNbinsX()); if(integral!=0)href_c->Scale(1/integral); integral=hnew_c->Integral(1,href_c->GetNbinsX()); if(integral!=0)hnew_c->Scale(1/integral); href_c->SetYTitle("Comparison of A and B"); href_c->DrawCopy("e1"); hnew_c->DrawCopy("e1same"); TText* te = new TText(); te->SetTextSize(0.04); myPV->PVCompute( href_ , hnew_ , te ); TH1 *ratio_=(TH1*)hnew_c->Clone(); ratio_->Divide(href_c); ratio_->SetYTitle("Ratio: B/A"); pad4->cd(); pad4->SetGridx(); pad4->SetGridy(); ratio_->DrawCopy("e1"); TH1 *diff_=(TH1*)hnew_c->Clone(); diff_->Add(href_c,-1); diff_->SetYTitle("Difference: B-A"); pad5->cd(); pad5->SetGridx(); pad5->SetGridy(); diff_->DrawCopy("e1"); TH1 *sigma_=(TH1*)diff_->Clone(); for(unsigned int i=1; i<=sigma_->GetNbinsX(); i++ ){ double v=sigma_->GetBinContent(i); double e=sigma_->GetBinError(i); // cout << v << "+/-" << e << " " << v/fabs(e) << endl; if(e!=0)sigma_->SetBinContent(i,v/fabs(e)); else sigma_->SetBinContent(i,0); } sigma_->SetYTitle("Sigma on Difference: (B-A)/sigma(B-A)"); pad6->cd(); pad6->SetGridx(); pad6->SetGridy(); sigma_->DrawCopy("phisto"); pad0->cd(); gStyle->SetOptStat(0000000); } TString plotFile = theHisto+".eps"; if(myPlot)myPlot->Print(plotFile); delete myPV; delete myPlot; }
void EcalRecHitsPlotCompare( TString currentfile = "EcalRecHitsValidation_new.root", TString referencefile = "EcalRecHitsValidation_old.root") { gROOT ->Reset(); char* rfilename = referencefile; char* sfilename = currentfile; int rcolor = 2; int scolor = 4; delete gROOT->GetListOfFiles()->FindObject(rfilename); delete gROOT->GetListOfFiles()->FindObject(sfilename); TText* te = new TText(); te->SetTextSize(0.1); TFile * rfile = new TFile(rfilename); TFile * sfile = new TFile(sfilename); rfile->cd("DQMData/EcalRecHitsV/EcalRecHitsTask"); gDirectory->ls(); sfile->cd("DQMData/EcalRecHitsV/EcalRecHitsTask"); gDirectory->ls(); Char_t histo[200]; gStyle->SetOptStat("n"); gROOT->ProcessLine(".x HistoCompare.C"); HistoCompare * myPV = new HistoCompare(); ////////////////////////////////////////////////////////////// // General class: Particle Gun if (1) { TH1* meGunEnergy_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Momentum;1",meGunEnergy_); meGunEnergy_; meGunEnergy_->SetLineColor(rcolor); TH1* meGunEta_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Eta;1",meGunEta_); meGunEta_; meGunEta_->SetLineColor(rcolor); TH1* meGunPhi_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Phi;1",meGunPhi_); meGunPhi_; meGunPhi_->SetLineColor(rcolor); TH1* newmeGunEnergy_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Momentum;1",newmeGunEnergy_); newmeGunEnergy_; newmeGunEnergy_->SetLineColor(scolor); TH1* newmeGunEta_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Eta;1",newmeGunEta_); newmeGunEta_; newmeGunEta_->SetLineColor(scolor); TH1* newmeGunPhi_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Gun Phi;1",newmeGunPhi_); newmeGunPhi_; newmeGunPhi_->SetLineColor(scolor); // -------------------------------- TCanvas * Ecal = new TCanvas("Ecal","Ecal",800,1000); Ecal->Divide(1,3); Ecal->cd(1); if ( meGunEnergy_ && newmeGunEnergy_ ) { meGunEnergy_->Draw(); newmeGunEnergy_->Draw("same"); myPV->PVCompute( meGunEnergy_ , newmeGunEnergy_ , te ); } Ecal->cd(2); if ( meGunEta_ && newmeGunEta_ ) { meGunEta_->Draw(); newmeGunEta_->Draw("same"); myPV->PVCompute( meGunEta_ , newmeGunEta_ , te ); } Ecal->cd(3); if ( meGunPhi_ && newmeGunPhi_ ) { meGunPhi_->Draw(); newmeGunPhi_->Draw("same"); myPV->PVCompute( meGunPhi_ , newmeGunPhi_ , te ); } Ecal->Print("ParticleGun_compare.eps"); delete Ecal; } // General class: sim/rec hit ratios if (1) { TH1 *meEBRecHitSimHitRatio_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Barrel RecSimHit Ratio;1",meEBRecHitSimHitRatio_); meEBRecHitSimHitRatio_; meEBRecHitSimHitRatio_->SetLineColor(rcolor); TH1 *meEERecHitSimHitRatio_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Endcap RecSimHit Ratio;1",meEERecHitSimHitRatio_); meEERecHitSimHitRatio_; meEERecHitSimHitRatio_->SetLineColor(rcolor); TH1 *meESRecHitSimHitRatio_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Preshower RecSimHit Ratio;1",meESRecHitSimHitRatio_); meESRecHitSimHitRatio_; meESRecHitSimHitRatio_->SetLineColor(rcolor); TH1 *newmeEBRecHitSimHitRatio_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Barrel RecSimHit Ratio;1",newmeEBRecHitSimHitRatio_); newmeEBRecHitSimHitRatio_; newmeEBRecHitSimHitRatio_->SetLineColor(scolor); TH1 *newmeEERecHitSimHitRatio_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Endcap RecSimHit Ratio;1",newmeEERecHitSimHitRatio_); newmeEERecHitSimHitRatio_; newmeEERecHitSimHitRatio_->SetLineColor(scolor); TH1 *newmeESRecHitSimHitRatio_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Preshower RecSimHit Ratio;1",newmeESRecHitSimHitRatio_); newmeESRecHitSimHitRatio_; newmeESRecHitSimHitRatio_->SetLineColor(scolor); TH1 *meEBRecHitSimHitRatioGt35_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Barrel RecSimHit Ratio gt 3p5 GeV;1",meEBRecHitSimHitRatioGt35_); meEBRecHitSimHitRatioGt35_; meEBRecHitSimHitRatioGt35_->SetLineColor(rcolor); TH1 *meEERecHitSimHitRatioGt35_; rfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Endcap RecSimHit Ratio gt 3p5 GeV;1",meEERecHitSimHitRatioGt35_); meEERecHitSimHitRatioGt35_; meEERecHitSimHitRatioGt35_->SetLineColor(rcolor); TH1 *newmeEBRecHitSimHitRatioGt35_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Barrel RecSimHit Ratio gt 3p5 GeV;1",newmeEBRecHitSimHitRatioGt35_); newmeEBRecHitSimHitRatioGt35_; newmeEBRecHitSimHitRatioGt35_->SetLineColor(scolor); TH1 *newmeEERecHitSimHitRatioGt35_; sfile->GetObject("DQMData/EcalRecHitsV/EcalRecHitsTask/EcalRecHitsTask Endcap RecSimHit Ratio gt 3p5 GeV;1",newmeEERecHitSimHitRatioGt35_); newmeEERecHitSimHitRatioGt35_; newmeEERecHitSimHitRatioGt35_->SetLineColor(scolor); // -------------------------------- TCanvas *BarrelSimRec = new TCanvas("BarrelSimRec","BarrelSimRec",800,800); if ( meEBRecHitSimHitRatio_ && newmeEBRecHitSimHitRatio_ ) { meEBRecHitSimHitRatio_->Draw(); newmeEBRecHitSimHitRatio_->Draw("same"); myPV->PVCompute( meEBRecHitSimHitRatio_ , newmeEBRecHitSimHitRatio_ , te ); } BarrelSimRec->Print("Barrel_SimRecHitsRatio_compare.eps"); delete BarrelSimRec; TCanvas *EndcapSimRec = new TCanvas("EndcapSimRec","EndcapSimRec",800,800); if ( meEERecHitSimHitRatio_ && newmeEERecHitSimHitRatio_ ) { meEERecHitSimHitRatio_->Draw(); newmeEERecHitSimHitRatio_->Draw("same"); myPV->PVCompute( meEERecHitSimHitRatio_ , newmeEERecHitSimHitRatio_ , te ); } EndcapSimRec->Print("Endcap_SimRecHitsRatio_compare.eps"); delete EndcapSimRec; TCanvas *PreshowerSimRec = new TCanvas("PreshowerSimRec","PreshowerSimRec",800,800); if ( meESRecHitSimHitRatio_ && newmeESRecHitSimHitRatio_ ) { meESRecHitSimHitRatio_->Draw(); newmeESRecHitSimHitRatio_->Draw("same"); myPV->PVCompute( meESRecHitSimHitRatio_ , newmeESRecHitSimHitRatio_ , te ); } PreshowerSimRec->Print("Preshower_SimRecHitsRatio_compare.eps"); delete PreshowerSimRec; TCanvas *BarrelSimRecGt35 = new TCanvas("BarrelSimRecGt35","BarrelSimRecGt35",800,800); if ( meEBRecHitSimHitRatioGt35_ && newmeEBRecHitSimHitRatioGt35_ ) { meEBRecHitSimHitRatioGt35_ ->Draw(); newmeEBRecHitSimHitRatioGt35_->Draw("same"); myPV->PVCompute( meEBRecHitSimHitRatioGt35_ , newmeEBRecHitSimHitRatioGt35_ , te ); } BarrelSimRecGt35->Print("Barrel_SimRecHitsRatioGt35_compare.eps"); delete BarrelSimRecGt35; TCanvas *EndcapSimRecGt35 = new TCanvas("EndcapSimRecGt35","EndcapSimRecGt35",800,800); if ( meEERecHitSimHitRatioGt35_ && newmeEERecHitSimHitRatioGt35_ ) { meEERecHitSimHitRatioGt35_ ->Draw(); newmeEERecHitSimHitRatioGt35_->Draw("same"); myPV->PVCompute( meEERecHitSimHitRatioGt35_ , newmeEERecHitSimHitRatioGt35_ , te ); } EndcapSimRecGt35->Print("Endcap_SimRecHitsRatioGt35_compare.eps"); delete EndcapSimRecGt35; } // --------------------------------------------------------------------------------- cout << endl; cout << "Barrel validation" << endl; rfile->cd("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask"); gDirectory->ls(); sfile->cd("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask"); gDirectory->ls(); // Barrel validation if (1) { TH2 *meEBUncalibRecHitsOccupancy_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Occupancy;1",meEBUncalibRecHitsOccupancy_); meEBUncalibRecHitsOccupancy_; TH1 *meEBUncalibRecHitsAmplitude_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude;1",meEBUncalibRecHitsAmplitude_); meEBUncalibRecHitsAmplitude_; meEBUncalibRecHitsAmplitude_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsPedestal_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal;1",meEBUncalibRecHitsPedestal_); meEBUncalibRecHitsPedestal_; meEBUncalibRecHitsPedestal_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsJitter_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Jitter;1",meEBUncalibRecHitsJitter_); meEBUncalibRecHitsJitter_; meEBUncalibRecHitsJitter_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsChi2_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Chi2;1",meEBUncalibRecHitsChi2_); meEBUncalibRecHitsChi2_; meEBUncalibRecHitsChi2_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitMaxSampleRatio_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB RecHit Max Sample Ratio;1",meEBUncalibRecHitMaxSampleRatio_); meEBUncalibRecHitMaxSampleRatio_; meEBUncalibRecHitMaxSampleRatio_->SetLineColor(rcolor); TH2 *meEBUncalibRecHitsOccupancyGt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Occupancy gt 100 adc counts;1",meEBUncalibRecHitsOccupancyGt100adc_); meEBUncalibRecHitsOccupancyGt100adc_; TH1 *meEBUncalibRecHitsAmplitudeGt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude gt 100 adc counts;1",meEBUncalibRecHitsAmplitudeGt100adc_); meEBUncalibRecHitsAmplitudeGt100adc_; meEBUncalibRecHitsAmplitudeGt100adc_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsPedestalGt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal gt 100 adc counts;1",meEBUncalibRecHitsPedestalGt100adc_); meEBUncalibRecHitsPedestalGt100adc_; meEBUncalibRecHitsPedestalGt100adc_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsJitterGt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Jitter gt 100 adc counts;1",meEBUncalibRecHitsJitterGt100adc_); meEBUncalibRecHitsJitterGt100adc_; meEBUncalibRecHitsJitterGt100adc_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitsChi2Gt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Chi2 gt 100 adc counts;1",meEBUncalibRecHitsChi2Gt100adc_); meEBUncalibRecHitsChi2Gt100adc_; meEBUncalibRecHitsChi2Gt100adc_->SetLineColor(rcolor); TH1 *meEBUncalibRecHitMaxSampleRatioGt100adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB RecHit Max Sample Ratio gt 100 adc counts;1",meEBUncalibRecHitMaxSampleRatioGt100adc_); meEBUncalibRecHitMaxSampleRatioGt100adc_; meEBUncalibRecHitMaxSampleRatioGt100adc_->SetLineColor(rcolor); TProfile2D *meEBUncalibRecHitsAmpFullMap_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude Full Map;1",meEBUncalibRecHitsAmpFullMap_); meEBUncalibRecHitsAmpFullMap_; TProfile2D *meEBUncalibRecHitsPedFullMap_; rfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal Full Map;1",meEBUncalibRecHitsPedFullMap_); meEBUncalibRecHitsPedFullMap_; TH2 *newmeEBUncalibRecHitsOccupancy_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Occupancy;1",newmeEBUncalibRecHitsOccupancy_); newmeEBUncalibRecHitsOccupancy_; TH1 *newmeEBUncalibRecHitsAmplitude_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude;1",newmeEBUncalibRecHitsAmplitude_); newmeEBUncalibRecHitsAmplitude_; newmeEBUncalibRecHitsAmplitude_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsPedestal_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal;1",newmeEBUncalibRecHitsPedestal_); newmeEBUncalibRecHitsPedestal_; newmeEBUncalibRecHitsPedestal_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsJitter_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Jitter;1",newmeEBUncalibRecHitsJitter_); newmeEBUncalibRecHitsJitter_; newmeEBUncalibRecHitsJitter_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsChi2_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Chi2;1",newmeEBUncalibRecHitsChi2_); newmeEBUncalibRecHitsChi2_; newmeEBUncalibRecHitsChi2_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitMaxSampleRatio_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB RecHit Max Sample Ratio;1",newmeEBUncalibRecHitMaxSampleRatio_); newmeEBUncalibRecHitMaxSampleRatio_; newmeEBUncalibRecHitMaxSampleRatio_->SetLineColor(scolor); TH2 *newmeEBUncalibRecHitsOccupancyGt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Occupancy gt 100 adc counts;1",newmeEBUncalibRecHitsOccupancyGt100adc_); newmeEBUncalibRecHitsOccupancyGt100adc_; TH1 *newmeEBUncalibRecHitsAmplitudeGt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude gt 100 adc counts;1",newmeEBUncalibRecHitsAmplitudeGt100adc_); newmeEBUncalibRecHitsAmplitudeGt100adc_; newmeEBUncalibRecHitsAmplitudeGt100adc_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsPedestalGt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal gt 100 adc counts;1",newmeEBUncalibRecHitsPedestalGt100adc_); newmeEBUncalibRecHitsPedestalGt100adc_; newmeEBUncalibRecHitsPedestalGt100adc_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsJitterGt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Jitter gt 100 adc counts;1",newmeEBUncalibRecHitsJitterGt100adc_); newmeEBUncalibRecHitsJitterGt100adc_; newmeEBUncalibRecHitsJitterGt100adc_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitsChi2Gt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Chi2 gt 100 adc counts;1",newmeEBUncalibRecHitsChi2Gt100adc_); newmeEBUncalibRecHitsChi2Gt100adc_; newmeEBUncalibRecHitsChi2Gt100adc_->SetLineColor(scolor); TH1 *newmeEBUncalibRecHitMaxSampleRatioGt100adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB RecHit Max Sample Ratio gt 100 adc counts;1",newmeEBUncalibRecHitMaxSampleRatioGt100adc_); newmeEBUncalibRecHitMaxSampleRatioGt100adc_; newmeEBUncalibRecHitMaxSampleRatioGt100adc_->SetLineColor(scolor); TProfile2D *newmeEBUncalibRecHitsAmpFullMap_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Amplitude Full Map;1",newmeEBUncalibRecHitsAmpFullMap_); newmeEBUncalibRecHitsAmpFullMap_; TProfile2D *newmeEBUncalibRecHitsPedFullMap_; sfile->GetObject("DQMData/EcalRecHitsV/EcalBarrelRecHitsTask/EB Pedestal Full Map;1",newmeEBUncalibRecHitsPedFullMap_); newmeEBUncalibRecHitsPedFullMap_; // -------------------------------- TCanvas *BarrelOccupancy = new TCanvas("BarrelOccupancy","BarrelOccupancy",1000,800); BarrelOccupancy->Divide(2,1); if ( meEBUncalibRecHitsOccupancy_ && newmeEBUncalibRecHitsOccupancy_ ) { BarrelOccupancy->cd(1); meEBUncalibRecHitsOccupancy_ ->Draw("colz"); BarrelOccupancy->cd(2); newmeEBUncalibRecHitsOccupancy_->Draw("colz"); myPV->PVCompute( meEBUncalibRecHitsOccupancy_ , newmeEBUncalibRecHitsOccupancy_ , te ); } BarrelOccupancy->Print("BarrelOccupancy_compare.eps"); delete BarrelOccupancy; TCanvas *BarrelOccupancyGt100adc = new TCanvas("BarrelOccupancyGt100adc","BarrelOccupancyGt100adc",1000,800); BarrelOccupancyGt100adc->Divide(2,1); if ( meEBUncalibRecHitsOccupancyGt100adc_ && newmeEBUncalibRecHitsOccupancyGt100adc_ ) { BarrelOccupancyGt100adc->cd(1); meEBUncalibRecHitsOccupancyGt100adc_ ->Draw("colz"); BarrelOccupancyGt100adc->cd(2); newmeEBUncalibRecHitsOccupancyGt100adc_->Draw("colz"); myPV->PVCompute( meEBUncalibRecHitsOccupancyGt100adc_ , newmeEBUncalibRecHitsOccupancyGt100adc_ , te ); } BarrelOccupancyGt100adc->Print("BarrelOccupancyGt100adc_compare.eps"); delete BarrelOccupancyGt100adc; TCanvas *BarrelFullMap = new TCanvas("BarrelFullMap","BarrelFullMap",1000,800); BarrelFullMap->Divide(2,2); if ( meEBUncalibRecHitsAmpFullMap_ && newmeEBUncalibRecHitsAmpFullMap_ ) { BarrelFullMap->cd(1); meEBUncalibRecHitsAmpFullMap_ ->Draw("colz"); BarrelFullMap->cd(2); newmeEBUncalibRecHitsAmpFullMap_->Draw("colz"); myPV->PVCompute( meEBUncalibRecHitsAmpFullMap_ , newmeEBUncalibRecHitsAmpFullMap_ , te ); BarrelFullMap->cd(3); meEBUncalibRecHitsPedFullMap_ ->Draw("colz"); BarrelFullMap->cd(4); newmeEBUncalibRecHitsPedFullMap_->Draw("colz"); myPV->PVCompute( meEBUncalibRecHitsPedFullMap_ , newmeEBUncalibRecHitsPedFullMap_ , te ); } BarrelFullMap->Print("BarrelFullMap_compare.eps"); delete BarrelFullMap; TCanvas *Barrel = new TCanvas("Barrel","Barrel",800,800); Barrel->Divide(3,2); if ( meEBUncalibRecHitsAmplitude_ && newmeEBUncalibRecHitsAmplitude_ ) { Barrel->cd(1); gPad->SetLogy(); meEBUncalibRecHitsAmplitude_->Draw(); newmeEBUncalibRecHitsAmplitude_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsAmplitude_ , newmeEBUncalibRecHitsAmplitude_ , te ); } if ( meEBUncalibRecHitsPedestal_ && newmeEBUncalibRecHitsPedestal_ ) { Barrel->cd(2); meEBUncalibRecHitsPedestal_->Draw(); newmeEBUncalibRecHitsPedestal_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsPedestal_ , newmeEBUncalibRecHitsPedestal_ , te ); } if ( meEBUncalibRecHitsJitter_ && newmeEBUncalibRecHitsJitter_ ) { Barrel->cd(3); meEBUncalibRecHitsJitter_->Draw(); newmeEBUncalibRecHitsJitter_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsJitter_ , newmeEBUncalibRecHitsJitter_ , te ); } if ( meEBUncalibRecHitsChi2_ && newmeEBUncalibRecHitsChi2_ ) { Barrel->cd(4); meEBUncalibRecHitsChi2_->Draw(); newmeEBUncalibRecHitsChi2_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsChi2_ , newmeEBUncalibRecHitsChi2_ , te ); } if ( meEBUncalibRecHitMaxSampleRatio_ && newmeEBUncalibRecHitMaxSampleRatio_ ) { Barrel->cd(5); meEBUncalibRecHitMaxSampleRatio_->Draw(); newmeEBUncalibRecHitMaxSampleRatio_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitMaxSampleRatio_ , newmeEBUncalibRecHitMaxSampleRatio_ , te ); } Barrel->Print("Barrel_compare.eps"); delete Barrel; TCanvas *BarrelGt100adc = new TCanvas("BarrelGt100adc","BarrelGt100adc",800,800); BarrelGt100adc->Divide(3,2); if ( meEBUncalibRecHitsAmplitudeGt100adc_ && newmeEBUncalibRecHitsAmplitudeGt100adc_ ) { BarrelGt100adc->cd(1); gPad->SetLogy(); meEBUncalibRecHitsAmplitudeGt100adc_->Draw(); newmeEBUncalibRecHitsAmplitudeGt100adc_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsAmplitudeGt100adc_ , newmeEBUncalibRecHitsAmplitudeGt100adc_ , te ); } if ( meEBUncalibRecHitsPedestalGt100adc_ && newmeEBUncalibRecHitsPedestalGt100adc_ ) { BarrelGt100adc->cd(2); meEBUncalibRecHitsPedestalGt100adc_->Draw(); newmeEBUncalibRecHitsPedestalGt100adc_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsPedestalGt100adc_ , newmeEBUncalibRecHitsPedestalGt100adc_ , te ); } if ( meEBUncalibRecHitsJitterGt100adc_ && newmeEBUncalibRecHitsJitterGt100adc_ ) { BarrelGt100adc->cd(3); meEBUncalibRecHitsJitterGt100adc_->Draw(); newmeEBUncalibRecHitsJitterGt100adc_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsJitterGt100adc_ , newmeEBUncalibRecHitsJitterGt100adc_ , te ); } if ( meEBUncalibRecHitsChi2Gt100adc_ && newmeEBUncalibRecHitsChi2Gt100adc_ ) { BarrelGt100adc->cd(4); meEBUncalibRecHitsChi2Gt100adc_->Draw(); newmeEBUncalibRecHitsChi2Gt100adc_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitsChi2Gt100adc_ , newmeEBUncalibRecHitsChi2Gt100adc_ , te ); } if ( meEBUncalibRecHitMaxSampleRatioGt100adc_ && newmeEBUncalibRecHitMaxSampleRatioGt100adc_ ) { BarrelGt100adc->cd(5); meEBUncalibRecHitMaxSampleRatioGt100adc_->Draw(); newmeEBUncalibRecHitMaxSampleRatioGt100adc_->Draw("same"); myPV->PVCompute( meEBUncalibRecHitMaxSampleRatioGt100adc_ , newmeEBUncalibRecHitMaxSampleRatioGt100adc_ , te ); } BarrelGt100adc->Print("BarrelGt100adc_compare.eps"); delete BarrelGt100adc; } // ----------------------------------------------------------------- cout << endl; cout << "Endcap validation" << endl; rfile->cd("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask"); gDirectory->ls(); sfile->cd("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask"); gDirectory->ls(); // Endcap validation if (1) { TH2 *meEEUncalibRecHitsOccupancyPlus_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE+ Occupancy;1",meEEUncalibRecHitsOccupancyPlus_); meEEUncalibRecHitsOccupancyPlus_; TH2 *meEEUncalibRecHitsOccupancyMinus_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE- Occupancy;1",meEEUncalibRecHitsOccupancyMinus_); meEEUncalibRecHitsOccupancyMinus_; TH1 *meEEUncalibRecHitsAmplitude_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude;1",meEEUncalibRecHitsAmplitude_); meEEUncalibRecHitsAmplitude_; meEEUncalibRecHitsAmplitude_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsPedestal_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal;1",meEEUncalibRecHitsPedestal_); meEEUncalibRecHitsPedestal_; meEEUncalibRecHitsPedestal_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsJitter_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Jitter;1",meEEUncalibRecHitsJitter_); meEEUncalibRecHitsJitter_; meEEUncalibRecHitsJitter_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsChi2_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Chi2;1",meEEUncalibRecHitsChi2_); meEEUncalibRecHitsChi2_; meEEUncalibRecHitsChi2_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitMaxSampleRatio_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE RecHit Max Sample Ratio;1",meEEUncalibRecHitMaxSampleRatio_); meEEUncalibRecHitMaxSampleRatio_; meEEUncalibRecHitMaxSampleRatio_->SetLineColor(rcolor); TH2 *meEEUncalibRecHitsOccupancyPlusGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE+ Occupancy gt 60 adc counts;1",meEEUncalibRecHitsOccupancyPlusGt60adc_); meEEUncalibRecHitsOccupancyPlusGt60adc_; TH2 *meEEUncalibRecHitsOccupancyMinusGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE- Occupancy gt 60 adc counts;1",meEEUncalibRecHitsOccupancyMinusGt60adc_); meEEUncalibRecHitsOccupancyMinusGt60adc_; TH1 *meEEUncalibRecHitsAmplitudeGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude gt 60 adc counts;1",meEEUncalibRecHitsAmplitudeGt60adc_); meEEUncalibRecHitsAmplitudeGt60adc_; meEEUncalibRecHitsAmplitudeGt60adc_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsPedestalGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal gt 60 adc counts;1",meEEUncalibRecHitsPedestalGt60adc_); meEEUncalibRecHitsPedestalGt60adc_; meEEUncalibRecHitsPedestalGt60adc_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsJitterGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Jitter gt 60 adc counts;1",meEEUncalibRecHitsJitterGt60adc_); meEEUncalibRecHitsJitterGt60adc_; meEEUncalibRecHitsJitterGt60adc_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitsChi2Gt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Chi2 gt 60 adc counts;1",meEEUncalibRecHitsChi2Gt60adc_); meEEUncalibRecHitsChi2Gt60adc_; meEEUncalibRecHitsChi2Gt60adc_->SetLineColor(rcolor); TH1 *meEEUncalibRecHitMaxSampleRatioGt60adc_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE RecHit Max Sample Ratio gt 60 adc counts;1",meEEUncalibRecHitMaxSampleRatioGt60adc_); meEEUncalibRecHitMaxSampleRatioGt60adc_; meEEUncalibRecHitMaxSampleRatioGt60adc_->SetLineColor(rcolor); TProfile2D *meEEUncalibRecHitsAmpFullMap_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude Full Map;1",meEEUncalibRecHitsAmpFullMap_); meEEUncalibRecHitsAmpFullMap_; TProfile2D *meEEUncalibRecHitsPedFullMap_; rfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal Full Map;1",meEEUncalibRecHitsPedFullMap_); meEEUncalibRecHitsPedFullMap_; TH2 *newmeEEUncalibRecHitsOccupancyPlus_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE+ Occupancy;1",newmeEEUncalibRecHitsOccupancyPlus_); newmeEEUncalibRecHitsOccupancyPlus_; TH2 *newmeEEUncalibRecHitsOccupancyMinus_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE- Occupancy;1",newmeEEUncalibRecHitsOccupancyMinus_); newmeEEUncalibRecHitsOccupancyMinus_; TH1 *newmeEEUncalibRecHitsAmplitude_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude;1",newmeEEUncalibRecHitsAmplitude_); newmeEEUncalibRecHitsAmplitude_; newmeEEUncalibRecHitsAmplitude_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsPedestal_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal;1",newmeEEUncalibRecHitsPedestal_); newmeEEUncalibRecHitsPedestal_; newmeEEUncalibRecHitsPedestal_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsJitter_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Jitter;1",newmeEEUncalibRecHitsJitter_); newmeEEUncalibRecHitsJitter_; newmeEEUncalibRecHitsJitter_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsChi2_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Chi2;1",newmeEEUncalibRecHitsChi2_); newmeEEUncalibRecHitsChi2_; newmeEEUncalibRecHitsChi2_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitMaxSampleRatio_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE RecHit Max Sample Ratio;1",newmeEEUncalibRecHitMaxSampleRatio_); newmeEEUncalibRecHitMaxSampleRatio_; newmeEEUncalibRecHitMaxSampleRatio_->SetLineColor(scolor); TH2 *newmeEEUncalibRecHitsOccupancyPlusGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE+ Occupancy gt 60 adc counts;1",newmeEEUncalibRecHitsOccupancyPlusGt60adc_); newmeEEUncalibRecHitsOccupancyPlusGt60adc_; TH2 *newmeEEUncalibRecHitsOccupancyMinusGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE- Occupancy gt 60 adc counts;1",newmeEEUncalibRecHitsOccupancyMinusGt60adc_); newmeEEUncalibRecHitsOccupancyMinusGt60adc_; TH1 *newmeEEUncalibRecHitsAmplitudeGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude gt 60 adc counts;1",newmeEEUncalibRecHitsAmplitudeGt60adc_); newmeEEUncalibRecHitsAmplitudeGt60adc_; newmeEEUncalibRecHitsAmplitudeGt60adc_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsPedestalGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal gt 60 adc counts;1",newmeEEUncalibRecHitsPedestalGt60adc_); newmeEEUncalibRecHitsPedestalGt60adc_; newmeEEUncalibRecHitsPedestalGt60adc_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsJitterGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Jitter gt 60 adc counts;1",newmeEEUncalibRecHitsJitterGt60adc_); newmeEEUncalibRecHitsJitterGt60adc_; newmeEEUncalibRecHitsJitterGt60adc_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitsChi2Gt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Chi2 gt 60 adc counts;1",newmeEEUncalibRecHitsChi2Gt60adc_); newmeEEUncalibRecHitsChi2Gt60adc_; newmeEEUncalibRecHitsChi2Gt60adc_->SetLineColor(scolor); TH1 *newmeEEUncalibRecHitMaxSampleRatioGt60adc_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE RecHit Max Sample Ratio gt 60 adc counts;1",newmeEEUncalibRecHitMaxSampleRatioGt60adc_); newmeEEUncalibRecHitMaxSampleRatioGt60adc_; newmeEEUncalibRecHitMaxSampleRatioGt60adc_->SetLineColor(scolor); TProfile2D *newmeEEUncalibRecHitsAmpFullMap_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Amplitude Full Map;1",newmeEEUncalibRecHitsAmpFullMap_); newmeEEUncalibRecHitsAmpFullMap_; TProfile2D *newmeEEUncalibRecHitsPedFullMap_; sfile->GetObject("DQMData/EcalRecHitsV/EcalEndcapRecHitsTask/EE Pedestal Full Map;1",newmeEEUncalibRecHitsPedFullMap_); newmeEEUncalibRecHitsPedFullMap_; // -------------------------------- TCanvas *EndcapOccupancy = new TCanvas("EndcapOccupancy","EndcapOccupancy",1000,800); EndcapOccupancy->Divide(2,2); if ( meEEUncalibRecHitsOccupancyPlus_ && newmeEEUncalibRecHitsOccupancyPlus_ ) { EndcapOccupancy->cd(1); meEEUncalibRecHitsOccupancyPlus_->Draw("colz"); EndcapOccupancy->cd(2); newmeEEUncalibRecHitsOccupancyPlus_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsOccupancyPlus_ , newmeEEUncalibRecHitsOccupancyPlus_ , te ); } if ( meEEUncalibRecHitsOccupancyMinus_ && newmeEEUncalibRecHitsOccupancyMinus_ ) { EndcapOccupancy->cd(3); meEEUncalibRecHitsOccupancyMinus_->Draw("colz"); EndcapOccupancy->cd(4); newmeEEUncalibRecHitsOccupancyMinus_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsOccupancyMinus_ , newmeEEUncalibRecHitsOccupancyMinus_ , te ); } EndcapOccupancy->Print("EndcapOccupancy_compare.eps"); delete EndcapOccupancy; TCanvas *EndcapOccupancyGt60adc = new TCanvas("EndcapOccupancyGt60adc","EndcapOccupancyGt60adc",1000,800); EndcapOccupancyGt60adc->Divide(2,2); if ( meEEUncalibRecHitsOccupancyPlusGt60adc_ && newmeEEUncalibRecHitsOccupancyPlusGt60adc_ ) { EndcapOccupancyGt60adc->cd(1); meEEUncalibRecHitsOccupancyPlusGt60adc_->Draw("colz"); EndcapOccupancyGt60adc->cd(2); newmeEEUncalibRecHitsOccupancyPlusGt60adc_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsOccupancyPlusGt60adc_ , newmeEEUncalibRecHitsOccupancyPlusGt60adc_ , te ); } if ( meEEUncalibRecHitsOccupancyMinusGt60adc_ && newmeEEUncalibRecHitsOccupancyMinusGt60adc_ ) { EndcapOccupancyGt60adc->cd(3); meEEUncalibRecHitsOccupancyMinusGt60adc_->Draw("colz"); EndcapOccupancyGt60adc->cd(4); newmeEEUncalibRecHitsOccupancyMinusGt60adc_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsOccupancyMinusGt60adc_ , newmeEEUncalibRecHitsOccupancyMinusGt60adc_ , te ); } EndcapOccupancyGt60adc->Print("EndcapOccupancyGt60adc_compare.eps"); delete EndcapOccupancyGt60adc; TCanvas *EndcapFullMap = new TCanvas("EndcapFullMap","EndcapFullMap",1000,800); EndcapFullMap->Divide(2,2); if ( meEEUncalibRecHitsAmpFullMap_ && newmeEEUncalibRecHitsAmpFullMap_ ) { EndcapFullMap->cd(1); meEEUncalibRecHitsAmpFullMap_ ->Draw("colz"); EndcapFullMap->cd(2); newmeEEUncalibRecHitsAmpFullMap_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsAmpFullMap_ , newmeEEUncalibRecHitsAmpFullMap_ , te ); EndcapFullMap->cd(3); meEEUncalibRecHitsPedFullMap_ ->Draw("colz"); EndcapFullMap->cd(4); newmeEEUncalibRecHitsPedFullMap_->Draw("colz"); myPV->PVCompute( meEEUncalibRecHitsPedFullMap_ , newmeEEUncalibRecHitsPedFullMap_ , te ); } EndcapFullMap->Print("EndcapFullMap_compare.eps"); delete EndcapFullMap; TCanvas *Endcap = new TCanvas("Endcap","Endcap",800,800); Endcap->Divide(2,2); if ( meEEUncalibRecHitsAmplitude_ && newmeEEUncalibRecHitsAmplitude_ ) { Endcap->cd(1); gPad->SetLogy(); meEEUncalibRecHitsAmplitude_->Draw(); newmeEEUncalibRecHitsAmplitude_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsAmplitude_ , newmeEEUncalibRecHitsAmplitude_ , te ); } if ( meEEUncalibRecHitsPedestal_ && newmeEEUncalibRecHitsPedestal_ ) { Endcap->cd(2); meEEUncalibRecHitsPedestal_->Draw(); newmeEEUncalibRecHitsPedestal_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsPedestal_ , newmeEEUncalibRecHitsPedestal_ , te ); } if ( meEEUncalibRecHitsJitter_ && newmeEEUncalibRecHitsJitter_ ) { Endcap->cd(3); meEEUncalibRecHitsJitter_->Draw(); newmeEEUncalibRecHitsJitter_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsJitter_ , newmeEEUncalibRecHitsJitter_ , te ); } if ( meEEUncalibRecHitsChi2_ && newmeEEUncalibRecHitsChi2_ ) { Endcap->cd(4); meEEUncalibRecHitsChi2_->Draw(); newmeEEUncalibRecHitsChi2_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsChi2_ , newmeEEUncalibRecHitsChi2_ , te ); } Endcap->Print("Endcap_compare.eps"); delete Endcap; TCanvas *EndcapGt60adc = new TCanvas("EndcapGt60adc","EndcapGt60adc",800,800); EndcapGt60adc->Divide(2,2); if ( meEEUncalibRecHitsAmplitudeGt60adc_ && newmeEEUncalibRecHitsAmplitudeGt60adc_ ) { EndcapGt60adc->cd(1); gPad->SetLogy(); meEEUncalibRecHitsAmplitudeGt60adc_->Draw(); newmeEEUncalibRecHitsAmplitudeGt60adc_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsAmplitudeGt60adc_ , newmeEEUncalibRecHitsAmplitudeGt60adc_ , te ); } if ( meEEUncalibRecHitsPedestalGt60adc_ && newmeEEUncalibRecHitsPedestalGt60adc_ ) { EndcapGt60adc->cd(2); meEEUncalibRecHitsPedestalGt60adc_->Draw(); newmeEEUncalibRecHitsPedestalGt60adc_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsPedestalGt60adc_ , newmeEEUncalibRecHitsPedestalGt60adc_ , te ); } if ( meEEUncalibRecHitsJitterGt60adc_ && newmeEEUncalibRecHitsJitterGt60adc_ ) { EndcapGt60adc->cd(3); meEEUncalibRecHitsJitterGt60adc_->Draw(); newmeEEUncalibRecHitsJitterGt60adc_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsJitterGt60adc_ , newmeEEUncalibRecHitsJitterGt60adc_ , te ); } if ( meEEUncalibRecHitsChi2Gt60adc_ && newmeEEUncalibRecHitsChi2Gt60adc_ ) { EndcapGt60adc->cd(4); meEEUncalibRecHitsChi2Gt60adc_->Draw(); newmeEEUncalibRecHitsChi2Gt60adc_->Draw("same"); myPV->PVCompute( meEEUncalibRecHitsChi2Gt60adc_ , newmeEEUncalibRecHitsChi2Gt60adc_ , te ); } EndcapGt60adc->Print("EndcapGt60adc_compare.eps"); delete EndcapGt60adc; } // ---------------------------------------------------------------- cout << endl; cout << "Preshower validation" << endl; rfile->cd("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask"); gDirectory->ls(); sfile->cd("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask"); gDirectory->ls(); // Preshower validation if (1) { TH1 *meESRecHitsEnergy_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy;1",meESRecHitsEnergy_); meESRecHitsEnergy_; meESRecHitsEnergy_->SetLineColor(rcolor); TH1 *meESRecHitsEnergy_zp1st_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane1 Side+;1",meESRecHitsEnergy_zp1st_); meESRecHitsEnergy_zp1st_; meESRecHitsEnergy_zp1st_->SetLineColor(rcolor); TH1 *meESRecHitsEnergy_zp2nd_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane2 Side+;1",meESRecHitsEnergy_zp2nd_); meESRecHitsEnergy_zp2nd_; meESRecHitsEnergy_zp2nd_->SetLineColor(rcolor); TH1 *meESRecHitsEnergy_zm1st_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane1 Side-;1",meESRecHitsEnergy_zm1st_); meESRecHitsEnergy_zm1st_; meESRecHitsEnergy_zm1st_->SetLineColor(rcolor); TH1 *meESRecHitsEnergy_zm2nd_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane2 Side-;1",meESRecHitsEnergy_zm2nd_); meESRecHitsEnergy_zm2nd_; meESRecHitsEnergy_zm2nd_->SetLineColor(rcolor); TH1 *meESRecHitsMultip_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity;1",meESRecHitsMultip_); meESRecHitsMultip_; meESRecHitsMultip_->SetLineColor(rcolor); TH1 *meESRecHitsMultip_zp1st_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side+;1",meESRecHitsMultip_zp1st_); meESRecHitsMultip_zp1st_; meESRecHitsMultip_zp1st_->SetLineColor(rcolor); TH1 *meESRecHitsMultip_zp2nd_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane2 Side+;1",meESRecHitsMultip_zp2nd_); meESRecHitsMultip_zp2nd_; meESRecHitsMultip_zp2nd_->SetLineColor(rcolor); TH1 *meESRecHitsMultip_zm1st_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side-;1",meESRecHitsMultip_zm1st_); meESRecHitsMultip_zm1st_; meESRecHitsMultip_zm1st_->SetLineColor(rcolor); TH1 *meESRecHitsMultip_zm2nd_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side-;1",meESRecHitsMultip_zm2nd_); meESRecHitsMultip_zm2nd_; meESRecHitsMultip_zm2nd_->SetLineColor(rcolor); TH1 *meESEERecHitsEnergy_zp_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/Preshower EE vs ES energy Side+;1",meESEERecHitsEnergy_zp_); meESEERecHitsEnergy_zp_; TH1 *meESEERecHitsEnergy_zm_; rfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/Preshower EE vs ES energy Side-;1",meESEERecHitsEnergy_zm_); meESEERecHitsEnergy_zm_; TH1 *newmeESRecHitsEnergy_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy;1",newmeESRecHitsEnergy_); newmeESRecHitsEnergy_; newmeESRecHitsEnergy_->SetLineColor(scolor); TH1 *newmeESRecHitsEnergy_zp1st_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane1 Side+;1",newmeESRecHitsEnergy_zp1st_); newmeESRecHitsEnergy_zp1st_; newmeESRecHitsEnergy_zp1st_->SetLineColor(scolor); TH1 *newmeESRecHitsEnergy_zp2nd_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane2 Side+;1",newmeESRecHitsEnergy_zp2nd_); newmeESRecHitsEnergy_zp2nd_; newmeESRecHitsEnergy_zp2nd_->SetLineColor(scolor); TH1 *newmeESRecHitsEnergy_zm1st_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane1 Side-;1",newmeESRecHitsEnergy_zm1st_); newmeESRecHitsEnergy_zm1st_; newmeESRecHitsEnergy_zm1st_->SetLineColor(scolor); TH1 *newmeESRecHitsEnergy_zm2nd_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Energy Plane2 Side-;1",newmeESRecHitsEnergy_zm2nd_); newmeESRecHitsEnergy_zm2nd_; newmeESRecHitsEnergy_zm2nd_->SetLineColor(scolor); TH1 *newmeESRecHitsMultip_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity;1",newmeESRecHitsMultip_); newmeESRecHitsMultip_; newmeESRecHitsMultip_->SetLineColor(scolor); TH1 *newmeESRecHitsMultip_zp1st_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side+;1",newmeESRecHitsMultip_zp1st_); newmeESRecHitsMultip_zp1st_; newmeESRecHitsMultip_zp1st_->SetLineColor(scolor); TH1 *newmeESRecHitsMultip_zp2nd_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane2 Side+;1",newmeESRecHitsMultip_zp2nd_); newmeESRecHitsMultip_zp2nd_; newmeESRecHitsMultip_zp2nd_->SetLineColor(scolor); TH1 *newmeESRecHitsMultip_zm1st_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side-;1",newmeESRecHitsMultip_zm1st_); newmeESRecHitsMultip_zm1st_; newmeESRecHitsMultip_zm1st_->SetLineColor(scolor); TH1 *newmeESRecHitsMultip_zm2nd_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/ES Multiplicity Plane1 Side-;1",newmeESRecHitsMultip_zm2nd_); newmeESRecHitsMultip_zm2nd_; newmeESRecHitsMultip_zm2nd_->SetLineColor(scolor); TH1 *newmeESEERecHitsEnergy_zp_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/Preshower EE vs ES energy Side+;1",newmeESEERecHitsEnergy_zp_); newmeESEERecHitsEnergy_zp_; TH1 *newmeESEERecHitsEnergy_zm_; sfile->GetObject("DQMData/EcalRecHitsV/EcalPreshowerRecHitsTask/Preshower EE vs ES energy Side-;1",newmeESEERecHitsEnergy_zm_); newmeESEERecHitsEnergy_zm_; // ---------------------------------------------- TCanvas *ESEnergyAll = new TCanvas("ESEnergyAll","ESEnergyAll",800,800); gPad->SetLogy(); if ( meESRecHitsEnergy_ && newmeESRecHitsEnergy_ ) { meESRecHitsEnergy_->Draw(); newmeESRecHitsEnergy_->Draw("same"); myPV->PVCompute( meESRecHitsEnergy_ , newmeESRecHitsEnergy_ , te ); } ESEnergyAll->Print("PreshowerEnergyAll_compare.eps"); delete ESEnergyAll; TCanvas *ESEnergy = new TCanvas("ESEnergy","ESEnergy",800,800); ESEnergy->Divide(2,2); if ( meESRecHitsEnergy_zp1st_ && newmeESRecHitsEnergy_zp1st_ ) { ESEnergy->cd(1); gPad->SetLogy(); meESRecHitsEnergy_zp1st _->Draw(); newmeESRecHitsEnergy_zp1st_->Draw("same"); } if ( meESRecHitsEnergy_zp2nd_ && newmeESRecHitsEnergy_zp2nd_ ) { ESEnergy->cd(2); gPad->SetLogy(); meESRecHitsEnergy_zp2nd_ ->Draw(); newmeESRecHitsEnergy_zp2nd_->Draw("same"); } if ( meESRecHitsEnergy_zm1st_ && newmeESRecHitsEnergy_zm1st_ ) { ESEnergy->cd(3); gPad->SetLogy(); meESRecHitsEnergy_zm1st_ ->Draw(); newmeESRecHitsEnergy_zm1st_->Draw("same"); } if ( meESRecHitsEnergy_zm2nd_ && newmeESRecHitsEnergy_zm2nd_ ) { ESEnergy->cd(4); gPad->SetLogy(); meESRecHitsEnergy_zm2nd_ ->Draw(); newmeESRecHitsEnergy_zm2nd_->Draw("same"); } ESEnergy->Print("PreshowerEnergy_compare.eps"); delete ESEnergy; TCanvas *ESMultipAll = new TCanvas("ESMultipAll","ESMultipAll",800,800); if ( meESRecHitsMultip_ && newmeESRecHitsMultip_ ) { meESRecHitsMultip_->Draw(); newmeESRecHitsMultip_->Draw("same"); myPV->PVCompute( meESRecHitsMultip_ , newmeESRecHitsMultip_ , te ); } ESMultipAll->Print("PreshowerMultipAll_compare.eps"); delete ESMultipAll; TCanvas *ESMultip = new TCanvas("ESMultip","ESMultip",800,800); ESMultip->Divide(2,2); if ( meESRecHitsMultip_zp1st_ && newmeESRecHitsMultip_zp1st_ ) { ESMultip->cd(1); meESRecHitsMultip_zp1st _->Draw(); newmeESRecHitsMultip_zp1st_->Draw("same"); } if ( meESRecHitsMultip_zp2nd_ && newmeESRecHitsMultip_zp2nd_ ) { ESMultip->cd(2); meESRecHitsMultip_zp2nd_ ->Draw(); newmeESRecHitsMultip_zp2nd_->Draw("same"); } if ( meESRecHitsMultip_zm1st_ && newmeESRecHitsMultip_zm1st_ ) { ESMultip->cd(3); meESRecHitsMultip_zm1st_ ->Draw(); newmeESRecHitsMultip_zm1st_->Draw("same"); } if ( meESRecHitsMultip_zm2nd_ && newmeESRecHitsMultip_zm2nd_ ) { ESMultip->cd(4); meESRecHitsMultip_zm2nd_ ->Draw(); newmeESRecHitsMultip_zm2nd_->Draw("same"); } ESMultip->Print("PreshowerMultip_compare.eps"); delete ESMultip; TCanvas *ESvsEE = new TCanvas("ESvsEE","ESvsEE",800,800); ESvsEE->Divide(2,2); if ( meESEERecHitsEnergy_zp_ && newmeESEERecHitsEnergy_zp_ ) { ESvsEE->cd(1); meESEERecHitsEnergy_zp _->Draw(); ESvsEE->cd(2); newmeESEERecHitsEnergy_zp_->Draw(); myPV->PVCompute( meESEERecHitsEnergy_zp_ , newmeESEERecHitsEnergy_zp_ , te); } if ( meESEERecHitsEnergy_zm_ && newmeESEERecHitsEnergy_zm_ ) { ESvsEE->cd(3); meESEERecHitsEnergy_zm _->Draw(); ESvsEE->cd(4); newmeESEERecHitsEnergy_zm_->Draw(); myPV->PVCompute( meESEERecHitsEnergy_zm_ , newmeESEERecHitsEnergy_zm_ , te); } ESvsEE->Print("ESvsEE_compare.eps"); delete ESvsEE; } }
void MEComparePlot(TH1 * href_, TH1 * hnew_, TString currentfile, TString referencefile, TString theDir, TString theHisto ) { TString theName = theDir+"/"+theHisto; std::cout << "Histogram name = " << theName << std::endl; HistoCompare * myPV = new HistoCompare(); int rcolor = 2; int scolor = 4; int rmarker = 21; int smarker = 20; Double_t markerSize = 0.75; href_->SetLineColor(rcolor); href_->SetMarkerStyle(rmarker); href_->SetMarkerSize(markerSize); href_->SetMarkerColor(rcolor); hnew_->SetLineColor(scolor); hnew_->SetMarkerStyle(smarker); hnew_->SetMarkerSize(markerSize); hnew_->SetMarkerColor(scolor); TCanvas *myPlot = 0; if ( href_ && hnew_ ) { myPlot = new TCanvas("myPlot","Histogram comparison",200,10,700,900); TPad *pad1 = new TPad("pad1", "The pad with the function",0.03,0.62,0.50,0.92); TPad *pad2 = new TPad("pad2", "The pad with the histogram",0.51,0.62,0.98,0.92); TPad *pad3 = new TPad("pad3", "The pad with the histogram",0.03,0.02,0.97,0.57); pad1->Draw(); pad2->Draw(); pad3->Draw(); // Draw a global picture title TPaveLabel *title = new TPaveLabel(0.1,0.94,0.9,0.98,theName); title->SetFillColor(16); title->SetTextFont(52); title->Draw(); TText * titte = new TText(); // Draw reference pad1->cd(); href_->DrawCopy("e1"); titte->DrawTextNDC(0.,0.02, referencefile); // Draw new pad2->cd(); hnew_->DrawCopy("e1"); titte->DrawTextNDC(0.,0.02, currentfile); gStyle->SetOptStat("nemruoi"); // Draw the two overlayed pad3->cd(); pad3->SetGridx(); pad3->SetGridy(); href_->DrawCopy("e1"); hnew_->DrawCopy("e1same"); TText* te = new TText(); te->SetTextSize(0.1); myPV->PVCompute( href_ , hnew_ , te ); gStyle->SetOptStat(0000000); } TString plotFile = theHisto+".jpg"; if(myPlot) myPlot->Print(plotFile); delete myPV; delete myPlot; }