int graphs () { //PG prepare the graphs //PG ---- ---- ---- ---- ---- ---- ---- ---- TGraph ** tg_sig_par = new TGraph * [7] ; // [parameter][mass] for (int k = 0 ; k < 7 ; ++k) tg_sig_par[k] = new TGraph (5) ; TGraph ** tg_sAi_par = new TGraph * [9] ; for (int k = 0 ; k < 9 ; ++k) tg_sAi_par[k] = new TGraph (5) ; //PG fill the graphs from the input files //PG ---- ---- ---- ---- ---- ---- ---- ---- int i = 0 ; intCont ic_350 ("results_interference.350.1.root", 350) ; ic_350.setsigGraphs (tg_sig_par, i) ; ic_350.setsAiGraphs (tg_sAi_par, i++) ; intCont ic_500 ("results_interference.500.1.root", 500) ; ic_500.setsigGraphs (tg_sig_par, i) ; ic_500.setsAiGraphs (tg_sAi_par, i++) ; intCont ic_650 ("results_interference.650.1.root", 650) ; ic_650.setsigGraphs (tg_sig_par, i) ; ic_650.setsAiGraphs (tg_sAi_par, i++) ; intCont ic_800 ("results_interference.800.1.root", 800) ; ic_800.setsigGraphs (tg_sig_par, i) ; ic_800.setsAiGraphs (tg_sAi_par, i++) ; intCont ic_1000 ("results_interference.1000.1.root", 1000) ; ic_1000.setsigGraphs (tg_sig_par, i) ; ic_1000.setsAiGraphs (tg_sAi_par, i++) ; //PG plot the interpolation for the signal //PG ---- ---- ---- ---- ---- ---- ---- ---- compareFits (tg_sig_par, 7, tg_sAi_par, 9) ; drawGraphs (tg_sig_par, "sig", 7) ; drawGraphs (tg_sAi_par, "sAi", 9) ; showInterpolation (tg_sig_par, "sig", 7) ; showInterpolation (tg_sAi_par, "sAi", 9) ; testInterpolation (tg_sig_par, "sig", 7) ; testInterpolation (tg_sAi_par, "sAi", 9) ; return 0 ; }
/** * Perform drawing. All layers will be drawn starting from the one with the * lowest index. * * @param event Painting event. */ void PolarPlot2D::paintEvent(QPaintEvent * /*event*/) { initPainterCoordinates(); updateScreenData(); drawBackground(); drawGraphBackground(); drawGrids(); drawGraphs(); //drawAxes(); //drawItems(); drawBoundaries(); }
void PlotWindow::displayRide( boost::shared_ptr<DataLog> data_log, boost::shared_ptr<User> user) { _user = user; if (data_log.get() != _data_log.get() || data_log->isModified()) { // Set the data _data_log = data_log; _plot_picker1->setDataLog(_data_log); // Show the data drawGraphs(); // Display lap markers clearLapMarkers(); if (_data_log->numLaps() > 1) { _laps_cb->setChecked(true); drawLapMarkers(); } else { _laps_cb->setChecked(false); } // Draw HR zones if (_hr_zones_cb->isChecked()) drawHRZoneMarkers(); // Decide which graphs to display based on data content _hr_cb->setChecked(_data_log->heartRateValid()); _speed_cb->setChecked(_data_log->speedValid()); _alt_cb->setChecked(_data_log->altValid()); _cadence_cb->setChecked(_data_log->cadenceValid()); _power_cb->setChecked(_data_log->powerValid()); _temp_cb->setChecked(_data_log->tempValid()); // Enabled user interface setEnabled(true); curveSelectionChanged(); show(); } else { // Return to base zoom _plot_zoomer->zoom(_plot_zoomer->zoomBase()); } }
//-------------------------------------------------------------- void BYBGui::draw(){ drawGraphs(); ofSetColor(255); logo.draw(logoRect); if (bDrawGui) { gui.draw(); } int p; if (getIsCalibrating() || bAccuracyTestRunning) { p = selectedGraph; }else{ p = selectedFinger; handImg.selectFinger(selectedFinger); } if (p >= 0 && p < NUM_GRAPHS) { ofPushStyle(); if (bNewPeak) { bNewPeak = false; ofSetColor(255); }else if (getIsCalibrating()) { ofSetColor(ofColor::red, ofMap(sin(ofGetElapsedTimef() * TWO_PI), -1, 1, 0, 255)); }else{ ofSetColor(ofColor::orange); } ofDrawRectangle(graphs[p].guiRectangle.getMaxX() -20, graphs[p].guiRectangle.y, 20, graphs[p].guiRectangle.height); ofPopStyle(); } loadButton.draw(); saveButton.draw(); calibrateButton.draw(); accuracyButton.draw(); eucButton.draw(); svmButton.draw(); arduinoButton.draw(); if (!getIsCalibrating()){ handImg.draw(ofColor::orange); } if (controllerPtr->serial.isWriting()) { ofPushStyle(); ofSetColor(ofColor::red); ofFill(); ofDrawCircle(100, 100, 70); ofPopStyle(); } }
void PlotWindow::xAxisUnitsChanged(int idx) { if (idx == 0) // time { _plot->setAxisScaleDraw(QwtPlot::xBottom, new XAxisScaleDraw(tr("time"))); _plot->setAxisTitle(QwtPlot::xBottom,"Time (min)"); } else // dist { _plot->setAxisScaleDraw(QwtPlot::xBottom, new XAxisScaleDraw(tr("dist"))); _plot->setAxisTitle(QwtPlot::xBottom,"Distance (km)"); } drawGraphs(); if (_laps_cb->isChecked()) // we need to resent the lap markers { clearLapMarkers(); drawLapMarkers(); } emit deleteSelection(); }
int main(int argc, char* argv[]) { if (argc != 7 && argc != 8) { std::cout << "USAGE: ./drawPhotonJet [data_dataset] [mc_SIGNAL_dataset] [mc_BG_dataset] [recoType] [jetAlgo]" << std::endl; exit(23); } setPrettyStyle(); std::string data_dataset(argv[1]); std::string mc_photonjet(argv[2]); std::string mc_QCD(argv[3]); std::string recoType(argv[4]); std::string jetAlgo(argv[5]); std::string algoType; if (recoType == "calo") { algoType = jetAlgo; } else { algoType = recoType + jetAlgo; } if (recoType == "jpt" && jetAlgo == "akt5") { algoType = "jptak5"; } std::string flags = ""; jetAlgo = (jetAlgo == "ak5") ? "AK5" : "AK7"; recoType = (recoType == "pf") ? "PFlow" : "Calo"; std::string postFix = recoType + jetAlgo; postFix += "chs"; TString dataFileName; if (flags.length() > 0) { dataFileName = TString::Format("PhotonJet_%s_%s_%s.root", data_dataset.c_str(), postFix.c_str(), flags.c_str()); } else { dataFileName = TString::Format("PhotonJet_%s_%s.root", data_dataset.c_str(), postFix.c_str()); } TFile* dataFile = TFile::Open(dataFileName); std::cout << "Opened data file '" << dataFileName << "'." << std::endl; //db->add_dataFile(dataFile, data_dataset); TString mc1FileName; if (flags.length() > 0) { mc1FileName = TString::Format("PhotonJet_%s_%s_%s.root", mc_photonjet.c_str(), postFix.c_str(), flags.c_str()); } else { mc1FileName = TString::Format("PhotonJet_%s_%s.root", mc_photonjet.c_str(), postFix.c_str()); } TFile* mcPhotonJetFile = TFile::Open(mc1FileName); std::cout << "Opened mc file '" << mc1FileName << "'." << std::endl; if (mcPhotonJetFile) { //db->add_mcFile(mcPhotonJetFile, mc_photonjet, "#gamma+jet MC", 46); } if (mc_QCD != "") { TString mc2FileName; if (flags.length() > 0) { mc2FileName = TString::Format("PhotonJet_%s_%s_%s.root", mc_QCD.c_str(), postFix.c_str(), flags.c_str()); } else { mc2FileName = TString::Format("PhotonJet_%s_%s.root", mc_QCD.c_str(), postFix.c_str()); } TFile* mcQCDFile = TFile::Open(mc2FileName); std::cout << "Opened mc file '" << mc2FileName << "'." << std::endl; if (mcQCDFile && mc_QCD != mc_photonjet) { //db->add_mcFile(mcQCDFile, mc_QCD, "QCD MC", 38); } } // Create output directory mkdir("plots", 0755); TString directoryName = ""; if (mc_QCD.length() == 0) directoryName = TString::Format("plots/%s_vs_%s_%s", data_dataset.c_str(), mc_photonjet.c_str(), postFix.c_str()); else directoryName = TString::Format("plots/%s_vs_%s_plus_%s_%s", data_dataset.c_str(), mc_photonjet.c_str(), mc_QCD.c_str(), postFix.c_str()); mkdir(directoryName, 0755); directoryName = TString::Format("%s/extrapolation", directoryName.Data()); mkdir(directoryName, 0755); TParameter<double>* pLumi = static_cast<TParameter<double>*>(dataFile->Get("analysis/luminosity")); double lumi = pLumi->GetVal() * 1e-9; //bool log = true; gErrorIgnoreLevel = kWarning; EtaBinning etaBinning; size_t etaBinningSize = etaBinning.size(); TString rootFolder = "analysis/new_extrapolation"; for (size_t i = 0; i < etaBinningSize; i++) { const std::string& etaName = etaBinning.getBinName(i); std::cout << "Processing " << etaName << std::endl; TString responseName = TString::Format("%s/extrap_resp_balancing_%s_graph", rootFolder.Data(), etaName.c_str()); TString outputName = TString::Format("%s/extrap_resp_balancing_%s.pdf", directoryName.Data(), etaName.c_str()); TGraphErrors* data = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "Balancing", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", etaBinning.getBinTitle(i), lumi, outputName.Data()); // Raw jets responseName = TString::Format("%s/extrap_resp_balancing_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_balancing_raw_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "Balancing", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw jets)", etaBinning.getBinTitle(i), lumi, outputName.Data()); responseName = TString::Format("%s/extrap_resp_mpf_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_mpf_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "MPF", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", etaBinning.getBinTitle(i), lumi, outputName.Data()); // Raw jets responseName = TString::Format("%s/extrap_resp_mpf_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_mpf_raw_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "MPF", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw #slashed{E_{t}})", etaBinning.getBinTitle(i), lumi, outputName.Data()); } // Special case eta < 1.3 { const std::string& etaName = "eta013"; std::cout << "Processing " << etaName << std::endl; TString responseName = TString::Format("%s/extrap_resp_balancing_%s_graph", rootFolder.Data(), etaName.c_str()); TString outputName = TString::Format("%s/extrap_resp_balancing_%s.pdf", directoryName.Data(), etaName.c_str()); TGraphErrors* data = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "Balancing", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", "#eta #leq 1.3", lumi, outputName.Data()); // Raw jets responseName = TString::Format("%s/extrap_resp_balancing_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_balancing_raw_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "Balancing", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw jets)", "#eta #leq 1.3", lumi, outputName.Data()); responseName = TString::Format("%s/extrap_resp_mpf_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_mpf_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "MPF", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", "#eta #leq 1.3", lumi, outputName.Data()); // Raw jets responseName = TString::Format("%s/extrap_resp_mpf_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_mpf_raw_%s.pdf", directoryName.Data(), etaName.c_str()); data = (TGraphErrors*) dataFile->Get(responseName); mc = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawGraphs(data, mc, "MPF", "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw #slashed{E_{t}})", "#eta #leq 1.3", lumi, outputName.Data()); } //db->set_legendTitle("|#eta| < 1.3"); //db->drawHisto_vs_pt(ptBins, "resp_mpf_eta013", "MPF Response", "", "Events", log); //db->drawHisto_vs_pt(ptBins, "resp_mpf_raw_eta013", "MPF Response (raw ME_{T})", "", "Events", log); for (size_t i = 0; i < etaBinningSize; i++) { const std::string& etaName = etaBinning.getBinName(i); std::cout << "Processing " << etaName << std::endl; TString responseName = TString::Format("%s/extrap_resp_balancing_%s_graph", rootFolder.Data(), etaName.c_str()); TString outputName = TString::Format("%s/extrap_resp_combined_%s", directoryName.Data(), etaName.c_str()); TGraphErrors* balancingData = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* balancingMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); responseName = TString::Format("%s/extrap_resp_mpf_%s_graph", rootFolder.Data(), etaName.c_str()); TGraphErrors* mpfData = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* mpfMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawCombinedGraphs(balancingData, balancingMC, mpfData, mpfMC, "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", etaBinning.getBinTitle(i), lumi, outputName.Data()); responseName = TString::Format("%s/extrap_resp_balancing_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_combined_raw_%s", directoryName.Data(), etaName.c_str()); balancingData = (TGraphErrors*) dataFile->Get(responseName); balancingMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); responseName = TString::Format("%s/extrap_resp_mpf_raw_%s_graph", rootFolder.Data(), etaName.c_str()); mpfData = (TGraphErrors*) dataFile->Get(responseName); mpfMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawCombinedGraphs(balancingData, balancingMC, mpfData, mpfMC, "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw objects)", etaBinning.getBinTitle(i), lumi, outputName.Data()); } // Eta < 1.3 { const std::string& etaName = "eta013"; std::cout << "Processing " << etaName << std::endl; TString responseName = TString::Format("%s/extrap_resp_balancing_%s_graph", rootFolder.Data(), etaName.c_str()); TString outputName = TString::Format("%s/extrap_resp_combined_%s", directoryName.Data(), etaName.c_str()); TGraphErrors* balancingData = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* balancingMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); responseName = TString::Format("%s/extrap_resp_mpf_%s_graph", rootFolder.Data(), etaName.c_str()); TGraphErrors* mpfData = (TGraphErrors*) dataFile->Get(responseName); TGraphErrors* mpfMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawCombinedGraphs(balancingData, balancingMC, mpfData, mpfMC, "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response", "#eta #leq 1.3", lumi, outputName.Data()); responseName = TString::Format("%s/extrap_resp_balancing_raw_%s_graph", rootFolder.Data(), etaName.c_str()); outputName = TString::Format("%s/extrap_resp_combined_raw_%s", directoryName.Data(), etaName.c_str()); balancingData = (TGraphErrors*) dataFile->Get(responseName); balancingMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); responseName = TString::Format("%s/extrap_resp_mpf_raw_%s_graph", rootFolder.Data(), etaName.c_str()); mpfData = (TGraphErrors*) dataFile->Get(responseName); mpfMC = (TGraphErrors*) mcPhotonJetFile->Get(responseName); drawCombinedGraphs(balancingData, balancingMC, mpfData, mpfMC, "p_{t}^{2^{nd} jet} / p_{t}^{#gamma}", "Jet response (raw objects)", "#eta #leq 1.3", lumi, outputName.Data()); } return 0; }