#include <MaterialBudgetTrackerHistos.h>
Public Member Functions | |
virtual void | fillEndTrack () |
virtual void | fillPerStep () |
virtual void | fillStartTrack () |
MaterialBudgetTrackerHistos (MaterialBudgetData *data, TestHistoMgr *mgr, const std::string &fileName) | |
virtual | ~MaterialBudgetTrackerHistos () |
Private Member Functions | |
virtual void | book () |
virtual void | hend () |
Private Attributes | |
TestHistoMgr * | hmgr |
int | MAXNUMBERSTEPS |
double * | theDmb |
double * | theMateId |
double * | theVoluId |
double * | theX |
double * | theY |
double * | theZ |
Definition at line 7 of file MaterialBudgetTrackerHistos.h.
MaterialBudgetTrackerHistos::MaterialBudgetTrackerHistos | ( | MaterialBudgetData * | data, |
TestHistoMgr * | mgr, | ||
const std::string & | fileName | ||
) |
Definition at line 10 of file MaterialBudgetTrackerHistos.cc.
References book(), convertXMLtoSQLite_cfg::fileName, and MaterialBudgetFormat::theFileName.
: MaterialBudgetFormat( data ), hmgr(mgr) { theFileName = fileName; book(); }
virtual MaterialBudgetTrackerHistos::~MaterialBudgetTrackerHistos | ( | ) | [inline, virtual] |
void MaterialBudgetTrackerHistos::book | ( | ) | [private, virtual] |
Definition at line 20 of file MaterialBudgetTrackerHistos.cc.
References TestHistoMgr::addHisto1(), TestHistoMgr::addHisto2(), TestHistoMgr::addHistoProf1(), TestHistoMgr::addHistoProf2(), gather_cfg::cout, and hmgr.
Referenced by MaterialBudgetTrackerHistos().
{ std::cout << "=== booking user histos ===" << std::endl; // Parameters for 2D histograms int nzbin = 1200; float zMax = 3000.; float zMin = -3000.; int nrbin = 290; float rMin = -50.; float rMax = 1400.; // total X0 hmgr->addHistoProf1( new TProfile("10", "MB prof Eta;#eta;x/X_{0} ", 250, -5., 5. ) ); hmgr->addHisto1( new TH1F("11", "Eta " , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("20", "MB prof Phi;#varphi [rad];x/X_{0} ", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("21", "Phi " , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("30", "MB prof Eta Phi;#eta;#varphi;x/X_{0} ", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("31", "Eta vs Phi " , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("40", "MB prof R;R [mm];x/X_{0} ", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("41", "R " , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("50", "MB prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("999", "Tot track length for MB", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("51", "R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("60", "MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("61", "R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Support hmgr->addHistoProf1( new TProfile("110", "MB prof Eta [Support];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("111", "Eta [Support]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("120", "MB prof Phi [Support];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("121", "Phi [Support]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("130", "MB prof Eta Phi [Support];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("131", "Eta vs Phi [Support]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("140", "MB prof R [Support];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("141", "R [Support]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("150", "MB prof sum R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("151", "R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("160", "MB prof local R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("161", "R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Sensitive hmgr->addHistoProf1( new TProfile("210", "MB prof Eta [Sensitive];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("211", "Eta [Sensitive]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("220", "MB prof Phi [Sensitive];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("221", "Phi [Sensitive]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("230", "MB prof Eta Phi [Sensitive];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("231", "Eta vs Phi [Sensitive]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("240", "MB prof R [Sensitive];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("241", "R [Sensitive]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("250", "MB prof sum R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("251", "R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("260", "MB prof local R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("261", "R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Cables hmgr->addHistoProf1( new TProfile("310", "MB prof Eta [Cables];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("311", "Eta [Cables]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("320", "MB prof Phi [Cables];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("321", "Phi [Cables]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("330", "MB prof Eta Phi [Cables];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("331", "Eta vs Phi [Cables]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("340", "MB prof R [Cables];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("341", "R [Cables]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("350", "MB prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("351", "R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("360", "MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("361", "R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Cooling hmgr->addHistoProf1( new TProfile("410", "MB prof Eta [Cooling];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("411", "Eta [Cooling]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("420", "MB prof Phi [Cooling];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("421", "Phi [Cooling]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("430", "MB prof Eta Phi [Cooling];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("431", "Eta vs Phi [Cooling]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("440", "MB prof R [Cooling];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("441", "R [Cooling]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("450", "MB prof sum R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("451", "R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("460", "MB prof local R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("461", "R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Electronics hmgr->addHistoProf1( new TProfile("510", "MB prof Eta [Electronics];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("511", "Eta [Electronics]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("520", "MB prof Phi [Electronics];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("521", "Phi [Electronics]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("530", "MB prof Eta Phi [Electronics];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("531", "Eta vs Phi [Electronics]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("540", "MB prof R [Electronics];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("541", "R [Electronics]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("550", "MB prof sum R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("551", "R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("560", "MB prof local R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("561", "R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Other hmgr->addHistoProf1( new TProfile("610", "MB prof Eta [Other];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("611", "Eta [Other]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("620", "MB prof Phi [Other];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("621", "Phi [Other]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("630", "MB prof Eta Phi [Other];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("631", "Eta vs Phi [Other]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("640", "MB prof R [Other];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("641", "R [Other]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("650", "MB prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("651", "R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("660", "MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("661", "R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Air hmgr->addHistoProf1( new TProfile("710", "MB prof Eta [Air];#eta;x/X_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("711", "Eta [Air]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("720", "MB prof Phi [Air];#varphi [rad];x/X_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("721", "Phi [Air]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("730", "MB prof Eta Phi [Air];#eta;#varphi;x/X_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("731", "Eta vs Phi [Air]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("740", "MB prof R [Air];R [mm];x/X_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("741", "R [Air]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("750", "MB prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("751", "R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("760", "MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("761", "R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // // total Lambda0 hmgr->addHistoProf1( new TProfile("1010", "MB prof Eta;#eta;#lambda/#lambda_{0} ", 250, -5., 5. ) ); hmgr->addHisto1( new TH1F("1011", "Eta " , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1020", "MB prof Phi;#varphi [rad];#lambda/#lambda_{0} ", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1021", "Phi " , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1030", "MB prof Eta Phi;#eta;#varphi;#lambda/#lambda_{0} ", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1031", "Eta vs Phi " , 501, -5., 5., 180, -3.1416, 3.1416 ) ); // rr hmgr->addHistoProf1( new TProfile("1040", "MB prof R;R [mm];#lambda/#lambda_{0} ", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1041", "R " , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1050", "MB prof sum R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1999", "Tot track length for l0", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1051", "R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1060", "MB prof local R z;z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1061", "R vs z " , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Support hmgr->addHistoProf1( new TProfile("1110", "MB prof Eta [Support];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1111", "Eta [Support]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1120", "MB prof Phi [Support];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1121", "Phi [Support]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1130", "MB prof Eta Phi [Support];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1131", "Eta vs Phi [Support]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1140", "MB prof R [Support];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1141", "R [Support]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1150", "MB prof sum R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1151", "R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1160", "MB prof local R z [Support];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1161", "R vs z [Support]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Sensitive hmgr->addHistoProf1( new TProfile("1210", "MB prof Eta [Sensitive];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1211", "Eta [Sensitive]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1220", "MB prof Phi [Sensitive];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1221", "Phi [Sensitive]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1230", "MB prof Eta Phi [Sensitive];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1231", "Eta vs Phi [Sensitive]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1240", "MB prof R [Sensitive];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1241", "R [Sensitive]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1250", "MB prof sum R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1251", "R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1260", "MB prof local R z [Sensitive];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1261", "R vs z [Sensitive]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Cables hmgr->addHistoProf1( new TProfile("1310", "MB prof Eta [Cables];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1311", "Eta [Cables]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1320", "MB prof Phi [Cables];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1321", "Phi [Cables]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1330", "MB prof Eta Phi [Cables];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1331", "Eta vs Phi [Cables]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1340", "MB prof R [Cables];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1341", "R [Cables]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1350", "MB prof sum R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1351", "R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1360", "MB prof local R z [Cables];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1361", "R vs z [Cables]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Cooling hmgr->addHistoProf1( new TProfile("1410", "MB prof Eta [Cooling];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1411", "Eta [Cooling]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1420", "MB prof Phi [Cooling];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1421", "Phi [Cooling]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1430", "MB prof Eta Phi [Cooling];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1431", "Eta vs Phi [Cooling]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1440", "MB prof R [Cooling];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1441", "R [Cooling]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1450", "MB prof sum R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1451", "R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1460", "MB prof local R z [Cooling];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1461", "R vs z [Cooling]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Electronics hmgr->addHistoProf1( new TProfile("1510", "MB prof Eta [Electronics];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1511", "Eta [Electronics]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1520", "MB prof Phi [Electronics];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1521", "Phi [Electronics]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1530", "MB prof Eta Phi [Electronics];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1531", "Eta vs Phi [Electronics]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1540", "MB prof R [Electronics];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1541", "R [Electronics]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1550", "MB prof sum R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1551", "R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1560", "MB prof local R z [Electronics];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1561", "R vs z [Electronics]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Other hmgr->addHistoProf1( new TProfile("1610", "MB prof Eta [Other];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1611", "Eta [Other]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1620", "MB prof Phi [Other];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1621", "Phi [Other]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1630", "MB prof Eta Phi [Other];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1631", "Eta vs Phi [Other]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1640", "MB prof R [Other];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1641", "R [Other]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1650", "MB prof sum R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1651", "R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1660", "MB prof local R z [Other];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1661", "R vs z [Other]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // Air hmgr->addHistoProf1( new TProfile("1710", "MB prof Eta [Air];#eta;#lambda/#lambda_{0}", 250, -5.0, 5.0 ) ); hmgr->addHisto1( new TH1F("1711", "Eta [Air]" , 501, -5., 5. ) ); hmgr->addHistoProf1( new TProfile("1720", "MB prof Phi [Air];#varphi [rad];#lambda/#lambda_{0}", 180, -3.1416, 3.1416 ) ); hmgr->addHisto1( new TH1F("1721", "Phi [Air]" , 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf2( new TProfile2D("1730", "MB prof Eta Phi [Air];#eta;#varphi;#lambda/#lambda_{0}", 250, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHisto2( new TH2F("1731", "Eta vs Phi [Air]" , 501, -5., 5., 180, -3.1416, 3.1416 ) ); hmgr->addHistoProf1( new TProfile("1740", "MB prof R [Air];R [mm];#lambda/#lambda_{0}", 200, 0., 2000. ) ); hmgr->addHisto1( new TH1F("1741", "R [Air]" , 200, 0., 2000. ) ); hmgr->addHistoProf2( new TProfile2D("1750", "MB prof sum R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1751", "R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1760", "MB prof local R z [Air];z [mm];R [mm];x/X_{0} ", nzbin, zMin, zMax, nrbin, rMin, rMax ) ); hmgr->addHisto2( new TH2F("1761", "R vs z [Air]" , nzbin, zMin, zMax, nrbin, rMin, rMax ) ); // // rr std::cout << "=== booking user histos done ===" << std::endl; }
void MaterialBudgetTrackerHistos::fillEndTrack | ( | ) | [virtual] |
Implements MaterialBudgetFormat.
Definition at line 269 of file MaterialBudgetTrackerHistos.cc.
References gather_cfg::cout, MaterialBudgetData::getAirDil(), MaterialBudgetData::getAirDmb(), MaterialBudgetData::getAirIL(), MaterialBudgetData::getAirMB(), MaterialBudgetData::getCablesDil(), MaterialBudgetData::getCablesDmb(), MaterialBudgetData::getCablesIL(), MaterialBudgetData::getCablesMB(), MaterialBudgetData::getCoolingDil(), MaterialBudgetData::getCoolingDmb(), MaterialBudgetData::getCoolingIL(), MaterialBudgetData::getCoolingMB(), MaterialBudgetData::getElectronicsDil(), MaterialBudgetData::getElectronicsDmb(), MaterialBudgetData::getElectronicsIL(), MaterialBudgetData::getElectronicsMB(), MaterialBudgetData::getEta(), TestHistoMgr::getHisto1(), TestHistoMgr::getHisto2(), TestHistoMgr::getHistoProf1(), TestHistoMgr::getHistoProf2(), MaterialBudgetData::getNumberOfSteps(), MaterialBudgetData::getOtherDil(), MaterialBudgetData::getOtherDmb(), MaterialBudgetData::getOtherIL(), MaterialBudgetData::getOtherMB(), MaterialBudgetData::getPhi(), MaterialBudgetData::getSensitiveDil(), MaterialBudgetData::getSensitiveDmb(), MaterialBudgetData::getSensitiveIL(), MaterialBudgetData::getSensitiveMB(), MaterialBudgetData::getStepDil(), MaterialBudgetData::getStepDmb(), MaterialBudgetData::getStepFinalX(), MaterialBudgetData::getStepFinalY(), MaterialBudgetData::getStepFinalZ(), MaterialBudgetData::getStepInitialX(), MaterialBudgetData::getStepInitialY(), MaterialBudgetData::getStepInitialZ(), MaterialBudgetData::getStepMaterialLambda0(), MaterialBudgetData::getStepMaterialX0(), MaterialBudgetData::getSupportDil(), MaterialBudgetData::getSupportDmb(), MaterialBudgetData::getSupportIL(), MaterialBudgetData::getSupportMB(), MaterialBudgetData::getTotalIL(), MaterialBudgetData::getTotalMB(), hmgr, max(), funct::pow(), mathSSE::sqrt(), MaterialBudgetFormat::theData, and z.
{ // // fill histograms and profiles only if the material has been crossed // if( theData->getNumberOfSteps() != 0 ) { // Total X0 hmgr->getHisto1(11)->Fill(theData->getEta()); hmgr->getHisto1(21)->Fill(theData->getPhi()); hmgr->getHisto2(31)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(10)->Fill(theData->getEta(),theData->getTotalMB()); hmgr->getHistoProf1(20)->Fill(theData->getPhi(),theData->getTotalMB()); hmgr->getHistoProf2(30)->Fill(theData->getEta(),theData->getPhi(),theData->getTotalMB()); // rr // Support hmgr->getHisto1(111)->Fill(theData->getEta()); hmgr->getHisto1(121)->Fill(theData->getPhi()); hmgr->getHisto2(131)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(110)->Fill(theData->getEta(),theData->getSupportMB()); hmgr->getHistoProf1(120)->Fill(theData->getPhi(),theData->getSupportMB()); hmgr->getHistoProf2(130)->Fill(theData->getEta(),theData->getPhi(),theData->getSupportMB()); // Sensitive hmgr->getHisto1(211)->Fill(theData->getEta()); hmgr->getHisto1(221)->Fill(theData->getPhi()); hmgr->getHisto2(231)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(210)->Fill(theData->getEta(),theData->getSensitiveMB()); hmgr->getHistoProf1(220)->Fill(theData->getPhi(),theData->getSensitiveMB()); hmgr->getHistoProf2(230)->Fill(theData->getEta(),theData->getPhi(),theData->getSensitiveMB()); // Cables hmgr->getHisto1(311)->Fill(theData->getEta()); hmgr->getHisto1(321)->Fill(theData->getPhi()); hmgr->getHisto2(331)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(310)->Fill(theData->getEta(),theData->getCablesMB()); hmgr->getHistoProf1(320)->Fill(theData->getPhi(),theData->getCablesMB()); hmgr->getHistoProf2(330)->Fill(theData->getEta(),theData->getPhi(),theData->getCablesMB()); // Cooling hmgr->getHisto1(411)->Fill(theData->getEta()); hmgr->getHisto1(421)->Fill(theData->getPhi()); hmgr->getHisto2(431)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(410)->Fill(theData->getEta(),theData->getCoolingMB()); hmgr->getHistoProf1(420)->Fill(theData->getPhi(),theData->getCoolingMB()); hmgr->getHistoProf2(430)->Fill(theData->getEta(),theData->getPhi(),theData->getCoolingMB()); // Electronics hmgr->getHisto1(511)->Fill(theData->getEta()); hmgr->getHisto1(521)->Fill(theData->getPhi()); hmgr->getHisto2(531)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(510)->Fill(theData->getEta(),theData->getElectronicsMB()); hmgr->getHistoProf1(520)->Fill(theData->getPhi(),theData->getElectronicsMB()); hmgr->getHistoProf2(530)->Fill(theData->getEta(),theData->getPhi(),theData->getElectronicsMB()); // Other hmgr->getHisto1(611)->Fill(theData->getEta()); hmgr->getHisto1(621)->Fill(theData->getPhi()); hmgr->getHisto2(631)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(610)->Fill(theData->getEta(),theData->getOtherMB()); hmgr->getHistoProf1(620)->Fill(theData->getPhi(),theData->getOtherMB()); hmgr->getHistoProf2(630)->Fill(theData->getEta(),theData->getPhi(),theData->getOtherMB()); // Air hmgr->getHisto1(711)->Fill(theData->getEta()); hmgr->getHisto1(721)->Fill(theData->getPhi()); hmgr->getHisto2(731)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(710)->Fill(theData->getEta(),theData->getAirMB()); hmgr->getHistoProf1(720)->Fill(theData->getPhi(),theData->getAirMB()); hmgr->getHistoProf2(730)->Fill(theData->getEta(),theData->getPhi(),theData->getAirMB()); // // Compute the total x/X0 crossed at each step radius for each path // // float theTotalMB_TOT = 0.0; float theTotalMB_SUP = 0.0; float theTotalMB_SEN = 0.0; float theTotalMB_CAB = 0.0; float theTotalMB_COL = 0.0; float theTotalMB_ELE = 0.0; float theTotalMB_OTH = 0.0; float theTotalMB_AIR = 0.0; for(int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) { theTotalMB_TOT += theData->getStepDmb(iStep); theTotalMB_SUP += theData->getSupportDmb(iStep); theTotalMB_SEN += theData->getSensitiveDmb(iStep); theTotalMB_CAB += theData->getCablesDmb(iStep); theTotalMB_COL += theData->getCoolingDmb(iStep); theTotalMB_ELE += theData->getElectronicsDmb(iStep); theTotalMB_OTH += theData->getOtherDmb(iStep); theTotalMB_AIR += theData->getAirDmb(iStep); int iSup = 0; int iSen = 0; int iCab = 0; int iCol = 0; int iEle = 0; int iOth = 0; int iAir = 0; if( theData->getSupportDmb(iStep)>0. ) { iSup = 1; } if( theData->getSensitiveDmb(iStep)>0. ) { iSen = 1; } if( theData->getCablesDmb(iStep)>0. ) { iCab = 1; } if( theData->getCoolingDmb(iStep)>0. ) { iCol = 1; } if( theData->getElectronicsDmb(iStep)>0. ) { iEle = 1; } if( theData->getOtherDmb(iStep)>0. ) { iOth = 1; } if( theData->getAirDmb(iStep)>0. ) { iAir = 1; } float deltaRadius = sqrt( pow( theData->getStepFinalX(iStep)-theData->getStepInitialX(iStep),2 ) + pow( theData->getStepFinalY(iStep)-theData->getStepInitialY(iStep),2 ) ); float deltaz = theData->getStepFinalZ(iStep)-theData->getStepInitialZ(iStep) ; float x0 = theData->getStepMaterialX0(iStep); int nSubStep = 2; float boxWidth = 0.1; if( (deltaRadius>boxWidth) || (fabs(deltaz)>boxWidth) ) { nSubStep = static_cast<int>(max( ceil(deltaRadius/boxWidth/2.)*2, ceil(fabs(deltaz)/boxWidth/2.)*2 )); } for(int iSubStep = 1; iSubStep < nSubStep; iSubStep+=2) { float subdeltaRadius = deltaRadius/nSubStep; float polarRadius = sqrt( pow( theData->getStepInitialX(iStep),2 ) + pow( theData->getStepInitialY(iStep),2 ) ) + iSubStep*subdeltaRadius; float subdeltaz = deltaz/nSubStep; float z = theData->getStepInitialZ(iStep) + iSubStep*subdeltaz; float subdelta = sqrt( pow ( subdeltaRadius,2 ) + pow( subdeltaz,2 ) ); float fillValue=subdelta/x0; // // Average length hmgr->getHisto2(999)->Fill(z,polarRadius,subdelta); // Total hmgr->getHisto1(41)->Fill(polarRadius); hmgr->getHistoProf1(40)->Fill(polarRadius,theTotalMB_TOT); hmgr->getHisto2(51)->Fill(z,polarRadius); hmgr->getHistoProf2(50)->Fill(z,polarRadius,theTotalMB_TOT); hmgr->getHisto2(61)->Fill(z,polarRadius); hmgr->getHisto2(60)->Fill(z,polarRadius,fillValue); // Support hmgr->getHisto1(141)->Fill(polarRadius); hmgr->getHistoProf1(140)->Fill(polarRadius,theTotalMB_SUP); hmgr->getHisto2(151)->Fill(z,polarRadius); hmgr->getHistoProf2(150)->Fill(z,polarRadius,theTotalMB_SUP); hmgr->getHisto2(161)->Fill(z,polarRadius); hmgr->getHisto2(160)->Fill(z,polarRadius,iSup*fillValue); // Sensitive hmgr->getHisto1(241)->Fill(polarRadius); hmgr->getHistoProf1(240)->Fill(polarRadius,theTotalMB_SEN); hmgr->getHisto2(251)->Fill(z,polarRadius); hmgr->getHistoProf2(250)->Fill(z,polarRadius,theTotalMB_SEN); hmgr->getHisto2(261)->Fill(z,polarRadius); hmgr->getHisto2(260)->Fill(z,polarRadius,iSen*fillValue); // Cables hmgr->getHisto1(341)->Fill(polarRadius); hmgr->getHistoProf1(340)->Fill(polarRadius,theTotalMB_CAB); hmgr->getHisto2(351)->Fill(z,polarRadius); hmgr->getHistoProf2(350)->Fill(z,polarRadius,theTotalMB_CAB); hmgr->getHisto2(361)->Fill(z,polarRadius); hmgr->getHisto2(360)->Fill(z,polarRadius,iCab*fillValue); // Cooling hmgr->getHisto1(441)->Fill(polarRadius); hmgr->getHistoProf1(440)->Fill(polarRadius,theTotalMB_COL); hmgr->getHisto2(451)->Fill(z,polarRadius); hmgr->getHistoProf2(450)->Fill(z,polarRadius,theTotalMB_COL); hmgr->getHisto2(461)->Fill(z,polarRadius); hmgr->getHisto2(460)->Fill(z,polarRadius,iCol*fillValue); // Electronics hmgr->getHisto1(541)->Fill(polarRadius); hmgr->getHistoProf1(540)->Fill(polarRadius,theTotalMB_ELE); hmgr->getHisto2(551)->Fill(z,polarRadius); hmgr->getHistoProf2(550)->Fill(z,polarRadius,theTotalMB_ELE); hmgr->getHisto2(561)->Fill(z,polarRadius); hmgr->getHisto2(560)->Fill(z,polarRadius,iEle*fillValue); // Other hmgr->getHisto1(641)->Fill(polarRadius); hmgr->getHistoProf1(640)->Fill(polarRadius,theTotalMB_OTH); hmgr->getHisto2(651)->Fill(z,polarRadius); hmgr->getHistoProf2(650)->Fill(z,polarRadius,theTotalMB_OTH); hmgr->getHisto2(661)->Fill(z,polarRadius); hmgr->getHisto2(660)->Fill(z,polarRadius,iOth*fillValue); // Air hmgr->getHisto1(741)->Fill(polarRadius); hmgr->getHistoProf1(740)->Fill(polarRadius,theTotalMB_AIR); hmgr->getHisto2(751)->Fill(z,polarRadius); hmgr->getHistoProf2(750)->Fill(z,polarRadius,theTotalMB_AIR); hmgr->getHisto2(761)->Fill(z,polarRadius); hmgr->getHisto2(760)->Fill(z,polarRadius,iAir*fillValue); // } } // // // // // // Total Lambda0 hmgr->getHisto1(1011)->Fill(theData->getEta()); hmgr->getHisto1(1021)->Fill(theData->getPhi()); hmgr->getHisto2(1031)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1010)->Fill(theData->getEta(),theData->getTotalIL()); hmgr->getHistoProf1(1020)->Fill(theData->getPhi(),theData->getTotalIL()); hmgr->getHistoProf2(1030)->Fill(theData->getEta(),theData->getPhi(),theData->getTotalIL()); // Support hmgr->getHisto1(1111)->Fill(theData->getEta()); hmgr->getHisto1(1121)->Fill(theData->getPhi()); hmgr->getHisto2(1131)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1110)->Fill(theData->getEta(),theData->getSupportIL()); hmgr->getHistoProf1(1120)->Fill(theData->getPhi(),theData->getSupportIL()); hmgr->getHistoProf2(1130)->Fill(theData->getEta(),theData->getPhi(),theData->getSupportIL()); // Sensitive hmgr->getHisto1(1211)->Fill(theData->getEta()); hmgr->getHisto1(1221)->Fill(theData->getPhi()); hmgr->getHisto2(1231)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1210)->Fill(theData->getEta(),theData->getSensitiveIL()); hmgr->getHistoProf1(1220)->Fill(theData->getPhi(),theData->getSensitiveIL()); hmgr->getHistoProf2(1230)->Fill(theData->getEta(),theData->getPhi(),theData->getSensitiveIL()); // Cables hmgr->getHisto1(1311)->Fill(theData->getEta()); hmgr->getHisto1(1321)->Fill(theData->getPhi()); hmgr->getHisto2(1331)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1310)->Fill(theData->getEta(),theData->getCablesIL()); hmgr->getHistoProf1(1320)->Fill(theData->getPhi(),theData->getCablesIL()); hmgr->getHistoProf2(1330)->Fill(theData->getEta(),theData->getPhi(),theData->getCablesIL()); // Cooling hmgr->getHisto1(1411)->Fill(theData->getEta()); hmgr->getHisto1(1421)->Fill(theData->getPhi()); hmgr->getHisto2(1431)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1410)->Fill(theData->getEta(),theData->getCoolingIL()); hmgr->getHistoProf1(1420)->Fill(theData->getPhi(),theData->getCoolingIL()); hmgr->getHistoProf2(1430)->Fill(theData->getEta(),theData->getPhi(),theData->getCoolingIL()); // Electronics hmgr->getHisto1(1511)->Fill(theData->getEta()); hmgr->getHisto1(1521)->Fill(theData->getPhi()); hmgr->getHisto2(1531)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1510)->Fill(theData->getEta(),theData->getElectronicsIL()); hmgr->getHistoProf1(1520)->Fill(theData->getPhi(),theData->getElectronicsIL()); hmgr->getHistoProf2(1530)->Fill(theData->getEta(),theData->getPhi(),theData->getElectronicsIL()); // Other hmgr->getHisto1(1611)->Fill(theData->getEta()); hmgr->getHisto1(1621)->Fill(theData->getPhi()); hmgr->getHisto2(1631)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1610)->Fill(theData->getEta(),theData->getOtherIL()); hmgr->getHistoProf1(1620)->Fill(theData->getPhi(),theData->getOtherIL()); hmgr->getHistoProf2(1630)->Fill(theData->getEta(),theData->getPhi(),theData->getOtherIL()); // Air hmgr->getHisto1(1711)->Fill(theData->getEta()); hmgr->getHisto1(1721)->Fill(theData->getPhi()); hmgr->getHisto2(1731)->Fill(theData->getEta(),theData->getPhi()); hmgr->getHistoProf1(1710)->Fill(theData->getEta(),theData->getAirIL()); hmgr->getHistoProf1(1720)->Fill(theData->getPhi(),theData->getAirIL()); hmgr->getHistoProf2(1730)->Fill(theData->getEta(),theData->getPhi(),theData->getAirIL()); // Compute the total l/l0 crossed at each step radius for each path float theTotalIL_TOT = 0.0; float theTotalIL_SUP = 0.0; float theTotalIL_SEN = 0.0; float theTotalIL_CAB = 0.0; float theTotalIL_COL = 0.0; float theTotalIL_ELE = 0.0; float theTotalIL_OTH = 0.0; float theTotalIL_AIR = 0.0; for(int iStep = 0; iStep < theData->getNumberOfSteps(); iStep++) { theTotalIL_TOT += theData->getStepDil(iStep); theTotalIL_SUP += theData->getSupportDil(iStep); theTotalIL_SEN += theData->getSensitiveDil(iStep); theTotalIL_CAB += theData->getCablesDil(iStep); theTotalIL_COL += theData->getCoolingDil(iStep); theTotalIL_ELE += theData->getElectronicsDil(iStep); theTotalIL_OTH += theData->getOtherDil(iStep); theTotalIL_AIR += theData->getAirDil(iStep); int iSup = 0; int iSen = 0; int iCab = 0; int iCol = 0; int iEle = 0; int iOth = 0; int iAir = 0; if( theData->getSupportDil(iStep)>0. ) { iSup = 1; } if( theData->getSensitiveDil(iStep)>0. ) { iSen = 1; } if( theData->getCablesDil(iStep)>0. ) { iCab = 1; } if( theData->getCoolingDil(iStep)>0. ) { iCol = 1; } if( theData->getElectronicsDil(iStep)>0. ) { iEle = 1; } if( theData->getOtherDil(iStep)>0. ) { iOth = 1; } if( theData->getAirDil(iStep)>0. ) { iAir = 1; } float deltaRadius = sqrt( pow( theData->getStepFinalX(iStep)-theData->getStepInitialX(iStep),2 ) + pow( theData->getStepFinalY(iStep)-theData->getStepInitialY(iStep),2 ) ); float deltaz = theData->getStepFinalZ(iStep)-theData->getStepInitialZ(iStep) ; float il = theData->getStepMaterialLambda0(iStep); int nSubStep = 2; float boxWidth = 0.1; if( (deltaRadius>boxWidth) || (fabs(deltaz)>boxWidth) ) { nSubStep = static_cast<int>(max( ceil(deltaRadius/boxWidth/2.)*2, ceil(fabs(deltaz)/boxWidth/2.)*2 )); } for(int iSubStep = 1; iSubStep < nSubStep; iSubStep+=2) { float subdeltaRadius = deltaRadius/nSubStep; float polarRadius = sqrt( pow( theData->getStepInitialX(iStep),2 ) + pow( theData->getStepInitialY(iStep),2 ) ) + iSubStep*subdeltaRadius; float subdeltaz = deltaz/nSubStep; float z = theData->getStepInitialZ(iStep) + iSubStep*subdeltaz; float subdelta = sqrt( pow ( subdeltaRadius,2 ) + pow( subdeltaz,2 ) ); float fillValue=subdelta/il; // // Average length hmgr->getHisto2(1999)->Fill(z,polarRadius,subdelta); // Total hmgr->getHisto1(1041)->Fill(polarRadius); hmgr->getHistoProf1(1040)->Fill(polarRadius,theTotalIL_TOT); hmgr->getHisto2(1051)->Fill(z,polarRadius); hmgr->getHistoProf2(1050)->Fill(z,polarRadius,theTotalIL_TOT); hmgr->getHisto2(1061)->Fill(z,polarRadius); hmgr->getHisto2(1060)->Fill(z,polarRadius,fillValue); // Support hmgr->getHisto1(1141)->Fill(polarRadius); hmgr->getHistoProf1(1140)->Fill(polarRadius,theTotalIL_SUP); hmgr->getHisto2(1151)->Fill(z,polarRadius); hmgr->getHistoProf2(1150)->Fill(z,polarRadius,theTotalIL_SUP); hmgr->getHisto2(1161)->Fill(z,polarRadius); hmgr->getHisto2(1160)->Fill(z,polarRadius,iSup*fillValue); // Sensitive hmgr->getHisto1(1241)->Fill(polarRadius); hmgr->getHistoProf1(1240)->Fill(polarRadius,theTotalIL_SEN); hmgr->getHisto2(1251)->Fill(z,polarRadius); hmgr->getHistoProf2(1250)->Fill(z,polarRadius,theTotalIL_SEN); hmgr->getHisto2(1261)->Fill(z,polarRadius); hmgr->getHisto2(1260)->Fill(z,polarRadius,iSen*fillValue); // Cables hmgr->getHisto1(1341)->Fill(polarRadius); hmgr->getHistoProf1(1340)->Fill(polarRadius,theTotalIL_CAB); hmgr->getHisto2(1351)->Fill(z,polarRadius); hmgr->getHistoProf2(1350)->Fill(z,polarRadius,theTotalIL_CAB); hmgr->getHisto2(1361)->Fill(z,polarRadius); hmgr->getHisto2(1360)->Fill(z,polarRadius,iCab*fillValue); // Cooling hmgr->getHisto1(1441)->Fill(polarRadius); hmgr->getHistoProf1(1440)->Fill(polarRadius,theTotalIL_COL); hmgr->getHisto2(1451)->Fill(z,polarRadius); hmgr->getHistoProf2(1450)->Fill(z,polarRadius,theTotalIL_COL); hmgr->getHisto2(1461)->Fill(z,polarRadius); hmgr->getHisto2(1460)->Fill(z,polarRadius,iCol*fillValue); // Electronics hmgr->getHisto1(1541)->Fill(polarRadius); hmgr->getHistoProf1(1540)->Fill(polarRadius,theTotalIL_ELE); hmgr->getHisto2(1551)->Fill(z,polarRadius); hmgr->getHistoProf2(1550)->Fill(z,polarRadius,theTotalIL_ELE); hmgr->getHisto2(1561)->Fill(z,polarRadius); hmgr->getHisto2(1560)->Fill(z,polarRadius,iEle*fillValue); // Other hmgr->getHisto1(1641)->Fill(polarRadius); hmgr->getHistoProf1(1640)->Fill(polarRadius,theTotalIL_OTH); hmgr->getHisto2(1651)->Fill(z,polarRadius); hmgr->getHistoProf2(1650)->Fill(z,polarRadius,theTotalIL_OTH); hmgr->getHisto2(1661)->Fill(z,polarRadius); hmgr->getHisto2(1660)->Fill(z,polarRadius,iOth*fillValue); // Air hmgr->getHisto1(1741)->Fill(polarRadius); hmgr->getHistoProf1(1740)->Fill(polarRadius,theTotalIL_AIR); hmgr->getHisto2(1751)->Fill(z,polarRadius); hmgr->getHistoProf2(1750)->Fill(z,polarRadius,theTotalIL_AIR); hmgr->getHisto2(1761)->Fill(z,polarRadius); hmgr->getHisto2(1760)->Fill(z,polarRadius,iAir*fillValue); // } } // rr } else { std::cout << "*** WARNING This event is out of the acceptance *** " << std::endl; std::cout << "eta = " << theData->getEta() << "\t phi = " << theData->getPhi() << "\t x/X0 = " << theData->getTotalMB() << "\t l/l0 = " << theData->getTotalIL() << "\t steps = " << theData->getNumberOfSteps() << std::endl; std::cout << "***" << std::endl; } }
void MaterialBudgetTrackerHistos::fillPerStep | ( | ) | [virtual] |
void MaterialBudgetTrackerHistos::fillStartTrack | ( | ) | [virtual] |
void MaterialBudgetTrackerHistos::hend | ( | ) | [private, virtual] |
Definition at line 715 of file MaterialBudgetTrackerHistos.cc.
References gather_cfg::cout, TestHistoMgr::getHisto2(), hmgr, TestHistoMgr::save(), and MaterialBudgetFormat::theFileName.
Referenced by ~MaterialBudgetTrackerHistos().
{ hmgr->getHisto2(60)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(160)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(260)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(360)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(460)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(560)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(660)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(760)->Divide(hmgr->getHisto2(999)); hmgr->getHisto2(160)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1160)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1260)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1360)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1460)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1560)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1660)->Divide(hmgr->getHisto2(1999)); hmgr->getHisto2(1760)->Divide(hmgr->getHisto2(1999)); std::cout << "=== save user histos ===" << std::endl; hmgr->save( theFileName ); }
TestHistoMgr* MaterialBudgetTrackerHistos::hmgr [private] |
Definition at line 35 of file MaterialBudgetTrackerHistos.h.
Referenced by book(), fillEndTrack(), and hend().
int MaterialBudgetTrackerHistos::MAXNUMBERSTEPS [private] |
Definition at line 27 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theDmb [private] |
Definition at line 28 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theMateId [private] |
Definition at line 33 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theVoluId [private] |
Definition at line 32 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theX [private] |
Definition at line 29 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theY [private] |
Definition at line 30 of file MaterialBudgetTrackerHistos.h.
double* MaterialBudgetTrackerHistos::theZ [private] |
Definition at line 31 of file MaterialBudgetTrackerHistos.h.