|
@@ -341,6 +341,11 @@ void run(){
|
|
tds.register_container<EfficiencyContainer<float>>("tracking_pur_v_eta_dR", THParams::lookup("eta")),
|
|
tds.register_container<EfficiencyContainer<float>>("tracking_pur_v_eta_dR", THParams::lookup("eta")),
|
|
tds.register_container<EfficiencyContainer<float>>("tracking_pur_v_phi_dR", THParams::lookup("phi"))};
|
|
tds.register_container<EfficiencyContainer<float>>("tracking_pur_v_phi_dR", THParams::lookup("phi"))};
|
|
|
|
|
|
|
|
+ KinColl<EfficiencyContainer<float>> fake_rate = {
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_v_pt", THParams::lookup("pt")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_v_eta", THParams::lookup("eta")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_v_phi", THParams::lookup("phi"))};
|
|
|
|
+
|
|
KinColl<EfficiencyContainer<float>> partial_fake_rate = {
|
|
KinColl<EfficiencyContainer<float>> partial_fake_rate = {
|
|
tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_v_pt", THParams::lookup("pt")),
|
|
tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_v_pt", THParams::lookup("pt")),
|
|
tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_v_eta", THParams::lookup("eta")),
|
|
tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_v_eta", THParams::lookup("eta")),
|
|
@@ -356,6 +361,26 @@ void run(){
|
|
tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_v_eta", THParams::lookup("eta")),
|
|
tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_v_eta", THParams::lookup("eta")),
|
|
tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_v_phi", THParams::lookup("phi"))};
|
|
tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_v_phi", THParams::lookup("phi"))};
|
|
|
|
|
|
|
|
+ KinColl<EfficiencyContainer<float>> fake_rate_incl = {
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_incl_v_pt", THParams::lookup("pt")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_incl_v_eta", THParams::lookup("eta")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("fake_rate_incl_v_phi", THParams::lookup("phi"))};
|
|
|
|
+
|
|
|
|
+ KinColl<EfficiencyContainer<float>> partial_fake_rate_incl = {
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_incl_v_pt", THParams::lookup("pt")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_incl_v_eta", THParams::lookup("eta")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("partial_fake_rate_incl_v_phi", THParams::lookup("phi"))};
|
|
|
|
+
|
|
|
|
+ KinColl<EfficiencyContainer<float>> full_fake_rate_incl = {
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("full_fake_rate_incl_v_pt", THParams::lookup("pt")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("full_fake_rate_incl_v_eta", THParams::lookup("eta")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("full_fake_rate_incl_v_phi", THParams::lookup("phi"))};
|
|
|
|
+
|
|
|
|
+ KinColl<EfficiencyContainer<float>> clean_fake_rate_incl = {
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_incl_v_pt", THParams::lookup("pt")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_incl_v_eta", THParams::lookup("eta")),
|
|
|
|
+ tds.register_container<EfficiencyContainer<float>>("clean_fake_rate_incl_v_phi", THParams::lookup("phi"))};
|
|
|
|
+
|
|
auto& hit_vs_layer_barrel = *tds.register_container<ContainerTH2<int>>("hit_vs_layer_barrel", THParams::lookup("hit_vs_layer"));
|
|
auto& hit_vs_layer_barrel = *tds.register_container<ContainerTH2<int>>("hit_vs_layer_barrel", THParams::lookup("hit_vs_layer"));
|
|
auto& hit_vs_layer_forward = *tds.register_container<ContainerTH2<int>>("hit_vs_layer_forward", THParams::lookup("hit_vs_layer"));
|
|
auto& hit_vs_layer_forward = *tds.register_container<ContainerTH2<int>>("hit_vs_layer_forward", THParams::lookup("hit_vs_layer"));
|
|
|
|
|
|
@@ -368,6 +393,8 @@ void run(){
|
|
auto& n_good_seeds = *tds.register_container<ContainerTH1<size_t>>("n_good_seeds", THParams::lookup("n_seeds"));
|
|
auto& n_good_seeds = *tds.register_container<ContainerTH1<size_t>>("n_good_seeds", THParams::lookup("n_seeds"));
|
|
auto& n_good_sim = *tds.register_container<ContainerTH1<int>>("n_good_sim", THParams::lookup("n_seeds"));
|
|
auto& n_good_sim = *tds.register_container<ContainerTH1<int>>("n_good_sim", THParams::lookup("n_seeds"));
|
|
auto& n_gsf_tracks = *tds.register_container<ContainerTH1<int>>("n_gsf_track", THParams::lookup("n_seeds"));
|
|
auto& n_gsf_tracks = *tds.register_container<ContainerTH1<int>>("n_gsf_track", THParams::lookup("n_seeds"));
|
|
|
|
+ auto& n_scl = *tds.register_container<ContainerTH1<size_t>>("n_scl", THParams::lookup("n_seeds"));
|
|
|
|
+ auto& n_good_scl = *tds.register_container<ContainerTH1<size_t>>("n_good_scl", THParams::lookup("n_seeds"));
|
|
|
|
|
|
auto& n_matched = *tds.register_container<ContainerTH1<int>>("n_matched", THParams::lookup("n_seeds"));
|
|
auto& n_matched = *tds.register_container<ContainerTH1<int>>("n_matched", THParams::lookup("n_seeds"));
|
|
auto& n_merged = *tds.register_container<ContainerTH1<int>>("n_merged", THParams::lookup("n_seeds"));
|
|
auto& n_merged = *tds.register_container<ContainerTH1<int>>("n_merged", THParams::lookup("n_seeds"));
|
|
@@ -404,7 +431,6 @@ void run(){
|
|
|
|
|
|
update_sim_els();
|
|
update_sim_els();
|
|
|
|
|
|
- n_seeds.fill(seeds.size());
|
|
|
|
size_t _n_good_seeds = 0;
|
|
size_t _n_good_seeds = 0;
|
|
for (const auto& seed : seeds) {
|
|
for (const auto& seed : seeds) {
|
|
if (is_good_seed(seed, hoe_cut)) {
|
|
if (is_good_seed(seed, hoe_cut)) {
|
|
@@ -414,6 +440,7 @@ void run(){
|
|
seed_kinems.phi->fill(seed.phi());
|
|
seed_kinems.phi->fill(seed.phi());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ n_seeds.fill(seeds.size());
|
|
n_good_seeds.fill(_n_good_seeds);
|
|
n_good_seeds.fill(_n_good_seeds);
|
|
|
|
|
|
for (const auto& sim_track : sim_els) {
|
|
for (const auto& sim_track : sim_els) {
|
|
@@ -428,11 +455,17 @@ void run(){
|
|
gsf_kinems.phi->fill(gsf_track.phi());
|
|
gsf_kinems.phi->fill(gsf_track.phi());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ size_t _n_good_scl = 0;
|
|
for (const auto& scl : scls) {
|
|
for (const auto& scl : scls) {
|
|
- scl_kinems.pt->fill(hypot(scl.px(), scl.py()));
|
|
|
|
- scl_kinems.eta->fill(pseudorapidity(scl.x(), scl.y(), scl.z()));
|
|
|
|
- scl_kinems.phi->fill(atan2(scl.py(), scl.px()));
|
|
|
|
|
|
+ if (scl.hoe() < hoe_cut) {
|
|
|
|
+ _n_good_scl++;
|
|
|
|
+ scl_kinems.pt->fill(hypot(scl.px(), scl.py()));
|
|
|
|
+ scl_kinems.eta->fill(pseudorapidity(scl.x(), scl.y(), scl.z()));
|
|
|
|
+ scl_kinems.phi->fill(atan2(scl.y(), scl.x()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ n_scl.fill(scls.size());
|
|
|
|
+ n_good_scl.fill(_n_good_scl);
|
|
|
|
|
|
auto match_stats = get_match_stats(false);
|
|
auto match_stats = get_match_stats(false);
|
|
n_good_sim.fill(std::get<0>(match_stats));
|
|
n_good_sim.fill(std::get<0>(match_stats));
|
|
@@ -628,21 +661,37 @@ void run(){
|
|
/* cout << "ntracks: " << ntracks << " "; */
|
|
/* cout << "ntracks: " << ntracks << " "; */
|
|
/* cout << "count: " << tm_scls.count(scl.idx); */
|
|
/* cout << "count: " << tm_scls.count(scl.idx); */
|
|
if (ntracks > 0) {
|
|
if (ntracks > 0) {
|
|
- partial_fake_rate.pt->fill(scl_pt, partial_fake);
|
|
|
|
- partial_fake_rate.eta->fill(scl_eta, partial_fake);
|
|
|
|
- partial_fake_rate.phi->fill(scl_phi, partial_fake);
|
|
|
|
-
|
|
|
|
- full_fake_rate.pt->fill(scl_pt, full_fake);
|
|
|
|
- full_fake_rate.eta->fill(scl_eta, full_fake);
|
|
|
|
- full_fake_rate.phi->fill(scl_phi, full_fake);
|
|
|
|
|
|
+ partial_fake_rate_incl.pt->fill(scl_pt, partial_fake);
|
|
|
|
+ partial_fake_rate_incl.eta->fill(scl_eta, partial_fake);
|
|
|
|
+ partial_fake_rate_incl.phi->fill(scl_phi, partial_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4) partial_fake_rate.pt->fill(scl_pt, partial_fake);
|
|
|
|
+ if (scl_pt > 20.0) partial_fake_rate.eta->fill(scl_eta, partial_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4 and scl_pt > 20) partial_fake_rate.phi->fill(scl_phi, partial_fake);
|
|
|
|
+
|
|
|
|
+ full_fake_rate_incl.pt->fill(scl_pt, full_fake);
|
|
|
|
+ full_fake_rate_incl.eta->fill(scl_eta, full_fake);
|
|
|
|
+ full_fake_rate_incl.phi->fill(scl_phi, full_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4) full_fake_rate.pt->fill(scl_pt, full_fake);
|
|
|
|
+ if (scl_pt > 20.0) full_fake_rate.eta->fill(scl_eta, full_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4 and scl_pt > 20) full_fake_rate.phi->fill(scl_phi, full_fake);
|
|
|
|
|
|
if (tm_scls.count(scl.idx) == 0) {
|
|
if (tm_scls.count(scl.idx) == 0) {
|
|
- /* cout << "Filling clean_fake_rate" << endl; */
|
|
|
|
- clean_fake_rate.pt->fill(scl_pt, full_fake);
|
|
|
|
- clean_fake_rate.eta->fill(scl_eta, full_fake);
|
|
|
|
- clean_fake_rate.phi->fill(scl_phi, full_fake);
|
|
|
|
|
|
+ clean_fake_rate_incl.pt->fill(scl_pt, full_fake);
|
|
|
|
+ clean_fake_rate_incl.eta->fill(scl_eta, full_fake);
|
|
|
|
+ clean_fake_rate_incl.phi->fill(scl_phi, full_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4) clean_fake_rate.pt->fill(scl_pt, full_fake);
|
|
|
|
+ if (scl_pt > 20.0) clean_fake_rate.eta->fill(scl_eta, full_fake);
|
|
|
|
+ if (abs(scl_eta) < 2.4 and scl_pt > 20) clean_fake_rate.phi->fill(scl_phi, full_fake);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (tm_scls.count(scl.idx) == 0) {
|
|
|
|
+ fake_rate_incl.pt->fill(scl_pt, ntracks>0);
|
|
|
|
+ fake_rate_incl.eta->fill(scl_eta, ntracks>0);
|
|
|
|
+ fake_rate_incl.phi->fill(scl_phi, ntracks>0);
|
|
|
|
+ if (abs(scl_eta) < 2.4) fake_rate.pt->fill(scl_pt, ntracks>0);
|
|
|
|
+ if (scl_pt > 20.0) fake_rate.eta->fill(scl_eta, ntracks>0);
|
|
|
|
+ if (abs(scl_eta) < 2.4 and scl_pt > 20) fake_rate.phi->fill(scl_phi, ntracks>0);
|
|
|
|
+ }
|
|
/* cout << endl; */
|
|
/* cout << endl; */
|
|
}
|
|
}
|
|
|
|
|