ATLAS Offline Software
Loading...
Searching...
No Matches
TCCPlots.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "GaudiKernel/SystemOfUnits.h"
6#include "TCCPlots.h"
7#include <cmath>
8
9using Gaudi::Units::GeV;
10
11TCCPlots::TCCPlots(TCCPlotsBase* pParent, const std::string& sDir, const std::string& collection) :
12 TCCPlotsBase(pParent, sDir),
13 m_collectionType (collection),
14 m_eventWeight (1.0),
15 m_jet_n (nullptr),
16 m_jet_pt (nullptr),
17 m_jet_eta (nullptr),
18 m_jet_phi (nullptr),
19 m_jet_m (nullptr),
20 m_jet_m_2leadings (nullptr),
21 m_jet_pt_2leadings (nullptr),
22 m_jet_eta_2leadings (nullptr),
23 m_jet_phi_2leadings (nullptr),
24 m_jet_m_leading (nullptr),
25 m_jet_pt_leading (nullptr),
26 m_jet_eta_leading (nullptr),
27 m_jet_phi_leading (nullptr),
28 m_jet_m_subleading (nullptr),
29 m_jet_pt_subleading (nullptr),
30 m_jet_eta_subleading (nullptr),
31 m_jet_phi_subleading (nullptr),
32 m_jet_deltaR (nullptr),
33 m_jet_deltaR_matched (nullptr),
34 m_jet_response_m (nullptr),
35 m_jet_response_m_pt (nullptr),
36 m_jet_response_pt (nullptr),
37 m_jet_response_eta (nullptr),
38 m_jet_response_phi (nullptr),
54 m_jet_response_add_eta (nullptr),
62 m_jet_response_m_npv (nullptr),
66 m_jet_response_d2_pt (nullptr),
74 m_jet_pseudoresponse_m (nullptr),
86 m_jet_d2 (nullptr),
87 m_jet_d2_2leadings (nullptr),
88 m_jet_d2_leading (nullptr),
89 m_jet_d2_subleading (nullptr),
90 m_jet_d2_massCut (nullptr),
94 m_jet_response_d2 (nullptr),
98 m_jet_response_add_d2 (nullptr),
102 m_jet_resolution_m (nullptr),
106 m_jet_resolution_m_npv (nullptr),
110 m_jet_median_width_m_npv (nullptr),
114 m_jet_resolution_d2 (nullptr),
118 m_jet_resolution_add_d2 (nullptr),
122 m_jet_mopt_pt_response_m (nullptr),
126 m_jet_mopt_pt_response_pt (nullptr),
138 m_jet_mopt_pt_response_d2 (nullptr),
162 m_trk_d0 (nullptr),
163 m_trk_z0 (nullptr),
164 m_trk_theta (nullptr),
165 m_trk_phi (nullptr),
166 m_trk_qOverP (nullptr),
167 m_trk_d0_eta (nullptr),
168 m_trk_z0_eta (nullptr),
169 m_trk_theta_eta (nullptr),
170 m_trk_phi_eta (nullptr),
171 m_trk_qOverP_eta (nullptr),
172 m_trk_d0_pt (nullptr),
173 m_trk_z0_pt (nullptr),
174 m_trk_theta_pt (nullptr),
175 m_trk_phi_pt (nullptr),
176 m_trk_qOverP_pt (nullptr),
177 m_trk_caloEntryEta (nullptr),
182 m_trk_caloEntryUncEta_pt (nullptr),
185 m_trk_caloEntryPhi (nullptr),
190 m_trk_caloEntryUncPhi_pt (nullptr),
192 m_trk_caloEntryUncTot_pt (nullptr),
193 m_trk_perigeeEta (nullptr),
194 m_trk_perigeeUncEta_eta (nullptr),
195 m_trk_perigeeUncEta_pt (nullptr),
197 m_trk_perigeeUncTheta_pt (nullptr),
198 m_trk_perigeePhi (nullptr),
199 m_trk_perigeeUncPhi_eta (nullptr),
200 m_trk_perigeeUncPhi_pt (nullptr),
201 m_trk_perigeeUncTot_eta (nullptr),
202 m_trk_perigeeUncTot_pt (nullptr),
207 m_trk_prodRadius (nullptr),
240 m_clusters_eta (nullptr),
241 m_clusters_matched_eta (nullptr),
245 m_clusters_width (nullptr),
246 m_clusters_width_eta (nullptr),
247 m_clusters_energy (nullptr),
252 m_clusters_width_energy (nullptr),
253 m_clusters_etacut_eta (nullptr),
254 m_clusters_etacut_width (nullptr),
256 m_clusters_etacut_energy (nullptr),
276 m_clusters_abs_eta (nullptr),
281 m_clusters_abs_width (nullptr),
282 m_clusters_abs_width_eta (nullptr),
283 m_clusters_abs_energy (nullptr),
289 m_clusters_etacut_abs_eta (nullptr),
384 m_clusters_pt_fraction_e (nullptr),
389 m_clusters_all_neutral_e (nullptr),
396 m_trk_total_eta (nullptr),
397 m_trk_total_pt (nullptr),
398 m_trk_total_clusters_eta (nullptr),
399 m_trk_total_clusters_pt (nullptr),
460 m_trk_pv0_total_eta (nullptr),
461 m_trk_pv0_total_pt (nullptr),
508 m_tcc_pt (nullptr),
509 m_tcc_pt_etacut (nullptr),
510 m_tcc_phi (nullptr),
511 m_tcc_eta (nullptr),
512 m_tcc_eta_ptcut (nullptr),
513 m_tcc_m (nullptr),
514 m_tcc_taste (nullptr),
515 m_tcc_taste_pt (nullptr),
516 m_tcc_taste_pt_etacut (nullptr),
517 m_tcc_taste_eta (nullptr),
518 m_tcc_taste_eta_ptcut (nullptr),
519 m_tcc_pt_truth_pt (nullptr),
520 m_tcc_pt_response (nullptr),
521 m_tcc_pt_track_pt (nullptr),
522 m_tcc_pt_pseudoresponse (nullptr),
523 m_tcc_N_M (nullptr),
524 m_tcc_N_M_pv0 (nullptr),
527}
528
529void TCCPlots::setEventWeight(const float& weight) {
530 m_eventWeight = weight;
531}
532
533void TCCPlots::setJetPtBinning(const std::vector<float>& bins) {
535}
536
537void TCCPlots::setJetMassOverPtBinning(const std::vector<float>& bins) {
539}
540
541void TCCPlots::setTrackPtBinning(const std::vector<float>& bins) {
543}
544
545void TCCPlots::setTrackProdRadiusBinning(const std::vector<float>& bins) {
547}
548
550
551 if (!m_collectionType.empty())
552 std::cout << "INFO: TCCPlots configured for " << m_collectionType << " type collection" << std::endl;
553
554 if (m_collectionType == "jets") {
555 book(m_jet_n , "jet_n" );
556 book(m_jet_pt , "jet_pt" );
557 book(m_jet_eta , "jet_eta" );
558 book(m_jet_phi , "jet_phi" );
559 book(m_jet_m , "jet_m" );
560 book(m_jet_m_2leadings , "jet_m_2leadings" );
561 book(m_jet_pt_2leadings , "jet_pt_2leadings" );
562 book(m_jet_eta_2leadings , "jet_eta_2leadings" );
563 book(m_jet_phi_2leadings , "jet_phi_2leadings" );
564 book(m_jet_m_leading , "jet_m_leading" );
565 book(m_jet_pt_leading , "jet_pt_leading" );
566 book(m_jet_eta_leading , "jet_eta_leading" );
567 book(m_jet_phi_leading , "jet_phi_leading" );
568 book(m_jet_m_subleading , "jet_m_subleading" );
569 book(m_jet_pt_subleading , "jet_pt_subleading" );
570 book(m_jet_eta_subleading , "jet_eta_subleading" );
571 book(m_jet_phi_subleading , "jet_phi_subleading" );
572 book(m_jet_deltaR , "jet_deltaR" );
573 book(m_jet_deltaR_matched , "jet_deltaR_matched" );
574 book(m_jet_response_m , "jet_response_m" );
575 book(m_jet_response_m_pt , "jet_response_m_pt" );
576 book(m_jet_response_pt , "jet_response_pt" );
577 book(m_jet_response_m_2leadings , "jet_response_m_2leadings" );
578 book(m_jet_response_m_pt_2leadings , "jet_response_m_pt_2leadings" );
579 book(m_jet_response_pt_2leadings , "jet_response_pt_2leadings" );
580 book(m_jet_response_m_leading , "jet_response_m_leading" );
581 book(m_jet_response_m_pt_leading , "jet_response_m_pt_leading" );
582 book(m_jet_response_pt_leading , "jet_response_pt_leading" );
583 book(m_jet_response_m_subleading , "jet_response_m_subleading" );
584 book(m_jet_response_m_pt_subleading , "jet_response_m_pt_subleading" );
585 book(m_jet_response_pt_subleading , "jet_response_pt_subleading" );
586 book(m_jet_response_eta , "jet_response_eta" );
587 book(m_jet_response_phi , "jet_response_phi" );
588 book(m_jet_response_eta_2leadings , "jet_response_eta_2leadings" );
589 book(m_jet_response_phi_2leadings , "jet_response_phi_2leadings" );
590 book(m_jet_response_eta_leading , "jet_response_eta_leading" );
591 book(m_jet_response_phi_leading , "jet_response_phi_leading" );
592 book(m_jet_response_eta_subleading , "jet_response_eta_subleading" );
593 book(m_jet_response_phi_subleading , "jet_response_phi_subleading" );
594 book(m_jet_response_add_eta , "jet_response_add_eta" );
595 book(m_jet_response_add_eta_2leadings , "jet_response_add_eta_2leadings" );
596 book(m_jet_response_add_eta_leading , "jet_response_add_eta_leading" );
597 book(m_jet_response_add_eta_subleading , "jet_response_add_eta_subleading" );
598 book(m_jet_response_add_eta_pt , "jet_response_add_eta_pt" );
599 book(m_jet_response_add_eta_pt_2leadings , "jet_response_add_eta_pt_2leadings" );
600 book(m_jet_response_add_eta_pt_leading , "jet_response_add_eta_pt_leading" );
601 book(m_jet_response_add_eta_pt_subleading , "jet_response_add_eta_pt_subleading" );
602 book(m_jet_response_m_npv , "jet_response_m_npv" );
603 book(m_jet_response_m_npv_2leadings , "jet_response_m_npv_2leadings" );
604 book(m_jet_response_m_npv_leading , "jet_response_m_npv_leading" );
605 book(m_jet_response_m_npv_subleading , "jet_response_m_npv_subleading" );
606 book(m_jet_response_d2_pt , "jet_response_d2_pt" );
607 book(m_jet_response_d2_pt_2leadings , "jet_response_d2_pt_2leadings" );
608 book(m_jet_response_d2_pt_leading , "jet_response_d2_pt_leading" );
609 book(m_jet_response_d2_pt_subleading , "jet_response_d2_pt_subleading" );
610 book(m_jet_response_add_d2_pt , "jet_response_add_d2_pt" );
611 book(m_jet_response_add_d2_pt_2leadings , "jet_response_add_d2_pt_2leadings" );
612 book(m_jet_response_add_d2_pt_leading , "jet_response_add_d2_pt_leading" );
613 book(m_jet_response_add_d2_pt_subleading , "jet_response_add_d2_pt_subleading" );
614 book(m_jet_pseudoresponse_m , "jet_pseudoresponse_m" );
615 book(m_jet_pseudoresponse_pt , "jet_pseudoresponse_pt" );
616 book(m_jet_pseudoresponse_m_2leadings , "jet_pseudoresponse_m_2leadings" );
617 book(m_jet_pseudoresponse_pt_2leadings , "jet_pseudoresponse_pt_2leadings" );
618 book(m_jet_pseudoresponse_m_leading , "jet_pseudoresponse_m_leading" );
619 book(m_jet_pseudoresponse_pt_leading , "jet_pseudoresponse_pt_leading" );
620 book(m_jet_pseudoresponse_m_subleading , "jet_pseudoresponse_m_subleading" );
621 book(m_jet_pseudoresponse_pt_subleading , "jet_pseudoresponse_pt_subleading" );
622 book(m_jet_pseudoresponse_notcalib_pt , "jet_pseudoresponse_notcalib_pt" );
623 book(m_jet_pseudoresponse_notcalib_pt_2leadings , "jet_pseudoresponse_notcalib_pt_2leadings" );
624 book(m_jet_pseudoresponse_notcalib_pt_leading , "jet_pseudoresponse_notcalib_pt_leading" );
625 book(m_jet_pseudoresponse_notcalib_pt_subleading , "jet_pseudoresponse_notcalib_pt_subleading");
626 book(m_jet_d2 , "jet_d2" );
627 book(m_jet_d2_2leadings , "jet_d2_2leadings" );
628 book(m_jet_d2_leading , "jet_d2_leading" );
629 book(m_jet_d2_subleading , "jet_d2_subleading" );
630 book(m_jet_d2_massCut , "jet_d2_massCut" );
631 book(m_jet_d2_2leadings_massCut , "jet_d2_2leadings_massCut" );
632 book(m_jet_d2_leading_massCut , "jet_d2_leading_massCut" );
633 book(m_jet_d2_subleading_massCut , "jet_d2_subleading_massCut" );
634 book(m_jet_response_d2 , "jet_response_d2" );
635 book(m_jet_response_d2_2leadings , "jet_response_d2_2leadings" );
636 book(m_jet_response_d2_leading , "jet_response_d2_leading" );
637 book(m_jet_response_d2_subleading , "jet_response_d2_subleading" );
638 book(m_jet_response_add_d2 , "jet_response_add_d2" );
639 book(m_jet_response_add_d2_2leadings , "jet_response_add_d2_2leadings" );
640 book(m_jet_response_add_d2_leading , "jet_response_add_d2_leading" );
641 book(m_jet_response_add_d2_subleading , "jet_response_add_d2_subleading" );
642 book(m_jet_resolution_m , "jet_resolution_m" );
643 book(m_jet_resolution_m_2leadings , "jet_resolution_m_2leadings" );
644 book(m_jet_resolution_m_leading , "jet_resolution_m_leading" );
645 book(m_jet_resolution_m_subleading , "jet_resolution_m_subleading" );
646 book(m_jet_resolution_m_npv , "jet_resolution_m_npv" );
647 book(m_jet_resolution_m_npv_2leadings , "jet_resolution_m_npv_2leadings" );
648 book(m_jet_resolution_m_npv_leading , "jet_resolution_m_npv_leading" );
649 book(m_jet_resolution_m_npv_subleading , "jet_resolution_m_npv_subleading" );
650 book(m_jet_resolution_d2 , "jet_resolution_d2" );
651 book(m_jet_resolution_d2_2leadings , "jet_resolution_d2_2leadings" );
652 book(m_jet_resolution_d2_leading , "jet_resolution_d2_leading" );
653 book(m_jet_resolution_d2_subleading , "jet_resolution_d2_subleading" );
654 book(m_jet_resolution_add_d2 , "jet_resolution_add_d2" );
655 book(m_jet_resolution_add_d2_2leadings , "jet_resolution_add_d2_2leadings" );
656 book(m_jet_resolution_add_d2_leading , "jet_resolution_add_d2_leading" );
657 book(m_jet_resolution_add_d2_subleading , "jet_resolution_add_d2_subleading" );
658 book(m_jet_median_width_m_npv , "jet_median_width_m_npv" );
659 book(m_jet_median_width_m_npv_2leadings , "jet_median_width_m_npv_2leadings" );
660 book(m_jet_median_width_m_npv_leading , "jet_median_width_m_npv_leading" );
661 book(m_jet_median_width_m_npv_subleading , "jet_median_width_m_npv_subleading" );
662 book(m_jet_mopt_pt_response_m , "jet_mopt_pt_response_m" );
663 book(m_jet_mopt_pt_response_m_2leadings , "jet_mopt_pt_response_m_2leadings" );
664 book(m_jet_mopt_pt_response_m_leading , "jet_mopt_pt_response_m_leading" );
665 book(m_jet_mopt_pt_response_m_subleading , "jet_mopt_pt_response_m_subleading" );
666 book(m_jet_mopt_pt_response_pt , "jet_mopt_pt_response_pt" );
667 book(m_jet_mopt_pt_response_pt_2leadings , "jet_mopt_pt_response_pt_2leadings" );
668 book(m_jet_mopt_pt_response_pt_leading , "jet_mopt_pt_response_pt_leading" );
669 book(m_jet_mopt_pt_response_pt_subleading , "jet_mopt_pt_response_pt_subleading" );
670 book(m_jet_mopt_pt_response_phi , "jet_mopt_pt_response_phi" );
671 book(m_jet_mopt_pt_response_phi_2leadings , "jet_mopt_pt_response_phi_2leadings" );
672 book(m_jet_mopt_pt_response_phi_leading , "jet_mopt_pt_response_phi_leading" );
673 book(m_jet_mopt_pt_response_phi_subleading , "jet_mopt_pt_response_phi_subleading" );
674 book(m_jet_mopt_pt_response_eta , "jet_mopt_pt_response_eta" );
675 book(m_jet_mopt_pt_response_eta_2leadings , "jet_mopt_pt_response_eta_2leadings" );
676 book(m_jet_mopt_pt_response_eta_leading , "jet_mopt_pt_response_eta_leading" );
677 book(m_jet_mopt_pt_response_eta_subleading , "jet_mopt_pt_response_eta_subleading" );
678 book(m_jet_mopt_pt_response_d2 , "jet_mopt_pt_response_d2" );
679 book(m_jet_mopt_pt_response_d2_2leadings , "jet_mopt_pt_response_d2_2leadings" );
680 book(m_jet_mopt_pt_response_d2_leading , "jet_mopt_pt_response_d2_leading" );
681 book(m_jet_mopt_pt_response_d2_subleading , "jet_mopt_pt_response_d2_subleading" );
682 book(m_jet_resolution_mopt_pt_m , "jet_resolution_mopt_pt_m" );
683 book(m_jet_resolution_mopt_pt_m_2leadings , "jet_resolution_mopt_pt_m_2leadings" );
684 book(m_jet_resolution_mopt_pt_m_leading , "jet_resolution_mopt_pt_m_leading" );
685 book(m_jet_resolution_mopt_pt_m_subleading , "jet_resolution_mopt_pt_m_subleading" );
686 book(m_jet_resolution_mopt_pt_pt , "jet_resolution_mopt_pt_pt" );
687 book(m_jet_resolution_mopt_pt_pt_2leadings , "jet_resolution_mopt_pt_pt_2leadings" );
688 book(m_jet_resolution_mopt_pt_pt_leading , "jet_resolution_mopt_pt_pt_leading" );
689 book(m_jet_resolution_mopt_pt_pt_subleading , "jet_resolution_mopt_pt_pt_subleading" );
690 book(m_jet_resolution_mopt_pt_phi , "jet_resolution_mopt_pt_phi" );
691 book(m_jet_resolution_mopt_pt_phi_2leadings , "jet_resolution_mopt_pt_phi_2leadings" );
692 book(m_jet_resolution_mopt_pt_phi_leading , "jet_resolution_mopt_pt_phi_leading" );
693 book(m_jet_resolution_mopt_pt_phi_subleading , "jet_resolution_mopt_pt_phi_subleading" );
694 book(m_jet_resolution_mopt_pt_eta , "jet_resolution_mopt_pt_eta" );
695 book(m_jet_resolution_mopt_pt_eta_2leadings , "jet_resolution_mopt_pt_eta_2leadings" );
696 book(m_jet_resolution_mopt_pt_eta_leading , "jet_resolution_mopt_pt_eta_leading" );
697 book(m_jet_resolution_mopt_pt_eta_subleading , "jet_resolution_mopt_pt_eta_subleading" );
698 book(m_jet_resolution_mopt_pt_d2 , "jet_resolution_mopt_pt_d2" );
699 book(m_jet_resolution_mopt_pt_d2_2leadings , "jet_resolution_mopt_pt_d2_2leadings" );
700 book(m_jet_resolution_mopt_pt_d2_leading , "jet_resolution_mopt_pt_d2_leading" );
701 book(m_jet_resolution_mopt_pt_d2_subleading , "jet_resolution_mopt_pt_d2_subleading" );
702
703 } else if (m_collectionType == "tracks") {
704 // book histograms for tracks
705 book(m_trk_d0 , "trk_d0" );
706 book(m_trk_z0 , "trk_z0" );
707 book(m_trk_theta , "trk_theta" );
708 book(m_trk_phi , "trk_phi" );
709 book(m_trk_qOverP , "trk_qOverP" );
710 book(m_trk_d0_eta , "trk_d0_eta" );
711 book(m_trk_z0_eta , "trk_z0_eta" );
712 book(m_trk_theta_eta , "trk_theta_eta" );
713 book(m_trk_phi_eta , "trk_phi_eta" );
714 book(m_trk_qOverP_eta , "trk_qOverP_eta" );
715 book(m_trk_d0_pt , "trk_d0_pt" );
716 book(m_trk_z0_pt , "trk_z0_pt" );
717 book(m_trk_theta_pt , "trk_theta_pt" );
718 book(m_trk_phi_pt , "trk_phi_pt" );
719 book(m_trk_qOverP_pt , "trk_qOverP_pt" );
720 book(m_trk_caloEntryEta , "trk_caloEntryEta" );
721 book(m_trk_caloEntryEtaOverEta_eta , "trk_caloEntryEtaOverEta_eta" );
722 book(m_trk_caloEntryEtaOverEta_pt , "trk_caloEntryEtaOverEta_pt" );
723 book(m_trk_caloEntryUncEta_caloEntryEta , "trk_caloEntryUncEta_caloEntryEta" );
724 book(m_trk_caloEntryUncEta_eta , "trk_caloEntryUncEta_eta" );
725 book(m_trk_caloEntryUncEta_pt , "trk_caloEntryUncEta_pt" );
726 book(m_trk_caloEntryUncTheta_eta , "trk_caloEntryUncTheta_eta" );
727 book(m_trk_caloEntryUncTheta_pt , "trk_caloEntryUncTheta_pt" );
728 book(m_trk_caloEntryPhi , "trk_caloEntryPhi" );
729 book(m_trk_caloEntryPhiOverPhi_eta , "trk_caloEntryPhiOverPhi_eta" );
730 book(m_trk_caloEntryPhiOverPhi_pt , "trk_caloEntryPhiOverPhi_pt" );
731 book(m_trk_caloEntryUncPhi_caloEntryPhi , "trk_caloEntryUncPhi_caloEntryPhi" );
732 book(m_trk_caloEntryUncPhi_eta , "trk_caloEntryUncPhi_eta" );
733 book(m_trk_caloEntryUncPhi_pt , "trk_caloEntryUncPhi_pt" );
734 book(m_trk_caloEntryUncTot_eta , "trk_caloEntryUncTot_eta" );
735 book(m_trk_caloEntryUncTot_pt , "trk_caloEntryUncTot_pt" );
736 book(m_trk_perigeeEta , "trk_perigeeEta" );
737 book(m_trk_perigeeUncEta_eta , "trk_perigeeUncEta_eta" );
738 book(m_trk_perigeeUncEta_pt , "trk_perigeeUncEta_pt" );
739 book(m_trk_perigeeUncTheta_eta , "trk_perigeeUncTheta_eta" );
740 book(m_trk_perigeeUncTheta_pt , "trk_perigeeUncTheta_pt" );
741 book(m_trk_perigeePhi , "trk_perigeePhi" );
742 book(m_trk_perigeeUncPhi_eta , "trk_perigeeUncPhi_eta" );
743 book(m_trk_perigeeUncPhi_pt , "trk_perigeeUncPhi_pt" );
744 book(m_trk_perigeeUncTot_eta , "trk_perigeeUncTot_eta" );
745 book(m_trk_perigeeUncTot_pt , "trk_perigeeUncTot_pt" );
746 book(m_trk_perigeeUncEta_caloUncEta , "trk_perigeeUncEta_caloUncEta" );
747 book(m_trk_perigeeUncTheta_caloUncTheta , "trk_perigeeUncTheta_caloUncTheta" );
748 book(m_trk_perigeeUncPhi_caloUncPhi , "trk_perigeeUncPhi_caloUncPhi" );
749 book(m_trk_perigeeUncTot_caloUncTot , "trk_perigeeUncTot_caloUncTot" );
750 book(m_trk_prodRadius , "trk_prodRadius" );
751 book(m_trk_perigeeUncEta_prodRadius , "trk_perigeeUncEta_prodRadius" );
752 book(m_trk_perigeeUncTheta_prodRadius , "trk_perigeeUncTheta_prodRadius" );
753 book(m_trk_perigeeUncPhi_prodRadius , "trk_perigeeUncPhi_prodRadius" );
754 book(m_trk_perigeeUncTot_prodRadius , "trk_perigeeUncTot_prodRadius" );
755 book(m_trk_caloEntryUncEta_prodRadius , "trk_caloEntryUncEta_prodRadius" );
756 book(m_trk_caloEntryUncTheta_prodRadius , "trk_caloEntryUncTheta_prodRadius" );
757 book(m_trk_caloEntryUncPhi_prodRadius , "trk_caloEntryUncPhi_prodRadius" );
758 book(m_trk_caloEntryUncTot_prodRadius , "trk_caloEntryUncTot_prodRadius" );
759 book(m_trk_delta_perigeeEta_caloEntryEta, "trk_delta_perigeeEta_caloEntryEta");
760 book(m_trk_delta_perigeePhi_caloEntryPhi, "trk_delta_perigeePhi_caloEntryPhi");
761 book(m_trk_delta_perigeeEta_caloEntryEta_eta , "trk_delta_perigeeEta_caloEntryEta_eta" );
762 book(m_trk_delta_perigeePhi_caloEntryPhi_eta , "trk_delta_perigeePhi_caloEntryPhi_eta" );
763 book(m_trk_delta_perigeeEta_caloEntryEta_pt , "trk_delta_perigeeEta_caloEntryEta_pt" );
764 book(m_trk_delta_perigeePhi_caloEntryPhi_pt , "trk_delta_perigeePhi_caloEntryPhi_pt" );
765 book(m_trk_delta_trackEta_caloEntryEta , "trk_delta_trackEta_caloEntryEta" );
766 book(m_trk_delta_trackPhi_caloEntryPhi , "trk_delta_trackPhi_caloEntryPhi" );
767 book(m_trk_delta_trackEta_caloEntryEta_eta , "trk_delta_trackEta_caloEntryEta_eta" );
768 book(m_trk_delta_trackPhi_caloEntryPhi_eta , "trk_delta_trackPhi_caloEntryPhi_eta" );
769 book(m_trk_delta_trackEta_caloEntryEta_pt , "trk_delta_trackEta_caloEntryEta_pt" );
770 book(m_trk_delta_trackPhi_caloEntryPhi_pt , "trk_delta_trackPhi_caloEntryPhi_pt" );
771 book(m_trk_delta_trackEta_caloEntryEtaCorr , "trk_delta_trackEta_caloEntryEtaCorr" );
772 book(m_trk_delta_trackPhi_caloEntryPhiCorr , "trk_delta_trackPhi_caloEntryPhiCorr" );
773 book(m_trk_delta_trackEta_caloEntryEtaCorr_eta , "trk_delta_trackEta_caloEntryEtaCorr_eta" );
774 book(m_trk_delta_trackPhi_caloEntryPhiCorr_eta , "trk_delta_trackPhi_caloEntryPhiCorr_eta" );
775 book(m_trk_delta_trackEta_caloEntryEtaCorr_pt , "trk_delta_trackEta_caloEntryEtaCorr_pt" );
776 book(m_trk_delta_trackPhi_caloEntryPhiCorr_pt , "trk_delta_trackPhi_caloEntryPhiCorr_pt" );
777 book(m_trk_delta_caloEntryEta_caloEntryEtaCorr , "trk_delta_caloEntryEta_caloEntryEtaCorr" );
778 book(m_trk_delta_caloEntryPhi_caloEntryPhiCorr , "trk_delta_caloEntryPhi_caloEntryPhiCorr" );
779 book(m_trk_delta_caloEntryEta_caloEntryEtaCorr_eta , "trk_delta_caloEntryEta_caloEntryEtaCorr_eta" );
780 book(m_trk_delta_caloEntryPhi_caloEntryPhiCorr_eta , "trk_delta_caloEntryPhi_caloEntryPhiCorr_eta" );
781 book(m_trk_delta_caloEntryEta_caloEntryEtaCorr_pt , "trk_delta_caloEntryEta_caloEntryEtaCorr_pt" );
782 book(m_trk_delta_caloEntryPhi_caloEntryPhiCorr_pt , "trk_delta_caloEntryPhi_caloEntryPhiCorr_pt" );
783
784 book(m_trk_total_eta , "trk_total_eta" );
785 book(m_trk_total_pt , "trk_total_pt" );
786 book(m_trk_total_clusters_eta , "trk_total_clusters_eta" );
787 book(m_trk_total_clusters_pt , "trk_total_clusters_pt" );
788 book(m_trk_notMatching_deltar_fix_eta , "trk_notMatching_deltar_fix_eta" );
789 book(m_trk_notMatching_deltar_fix_phi , "trk_notMatching_deltar_fix_phi" );
790 book(m_trk_notMatching_deltar_fix_pt , "trk_notMatching_deltar_fix_pt" );
791 book(m_trk_notMatching_deltar_fix_caloEntryUncTot_eta , "trk_notMatching_deltar_fix_caloEntryUncTot_eta" );
792 book(m_trk_notMatching_deltar_fix_caloEntryUncTot_pt , "trk_notMatching_deltar_fix_caloEntryUncTot_pt" );
793 book(m_trk_notMatching_deltar_fix_caloEntryUncTot_prodRadius , "trk_notMatching_deltar_fix_caloEntryUncTot_prodRadius" );
794 book(m_trk_notMatching_deltar_var_eta , "trk_notMatching_deltar_var_eta" );
795 book(m_trk_notMatching_deltar_var_phi , "trk_notMatching_deltar_var_phi" );
796 book(m_trk_notMatching_deltar_var_pt , "trk_notMatching_deltar_var_pt" );
797 book(m_trk_notMatching_deltar_var_caloEntryUncTot_eta , "trk_notMatching_deltar_var_caloEntryUncTot_eta" );
798 book(m_trk_notMatching_deltar_var_caloEntryUncTot_pt , "trk_notMatching_deltar_var_caloEntryUncTot_pt" );
799 book(m_trk_notMatching_deltar_var_caloEntryUncTot_prodRadius , "trk_notMatching_deltar_var_caloEntryUncTot_prodRadius" );
800 book(m_trk_notMatching_deltar_none_eta , "trk_notMatching_deltar_none_eta" );
801 book(m_trk_notMatching_deltar_none_phi , "trk_notMatching_deltar_none_phi" );
802 book(m_trk_notMatching_deltar_none_pt , "trk_notMatching_deltar_none_pt" );
803 book(m_trk_notMatching_deltar_none_caloEntryUncTot_eta , "trk_notMatching_deltar_none_caloEntryUncTot_eta" );
804 book(m_trk_notMatching_deltar_none_caloEntryUncTot_pt , "trk_notMatching_deltar_none_caloEntryUncTot_pt" );
805 book(m_trk_notMatching_deltar_none_caloEntryUncTot_prodRadius , "trk_notMatching_deltar_none_caloEntryUncTot_prodRadius");
806 book(m_trk_matching_deltar_fix_eta , "trk_matching_deltar_fix_eta" );
807 book(m_trk_matching_deltar_fix_pt , "trk_matching_deltar_fix_pt" );
808 book(m_trk_matching_deltar_var_eta , "trk_matching_deltar_var_eta" );
809 book(m_trk_matching_deltar_var_pt , "trk_matching_deltar_var_pt" );
810 book(m_trk_matching_deltar_onlyfix_eta , "trk_matching_deltar_onlyfix_eta" );
811 book(m_trk_matching_deltar_onlyfix_pt , "trk_matching_deltar_onlyfix_pt" );
812 book(m_trk_matching_deltar_onlyvar_eta , "trk_matching_deltar_onlyvar_eta" );
813 book(m_trk_matching_deltar_onlyvar_pt , "trk_matching_deltar_onlyvar_pt" );
814 book(m_trk_matching_deltar_fix_or_var_eta , "trk_matching_deltar_fix_or_var_eta" );
815 book(m_trk_matching_deltar_fix_or_var_pt , "trk_matching_deltar_fix_or_var_pt" );
816 book(m_trk_matching_deltar_fix_and_var_eta , "trk_matching_deltar_fix_and_var_eta" );
817 book(m_trk_matching_deltar_fix_and_var_pt , "trk_matching_deltar_fix_and_var_pt" );
818 book(m_trk_matching_deltar_or_clusters_eta , "trk_matching_deltar_or_clusters_eta" );
819 book(m_trk_matching_deltar_or_clusters_phi , "trk_matching_deltar_or_clusters_phi" );
820 book(m_trk_matching_deltar_or_clusters_pt , "trk_matching_deltar_or_clusters_pt" );
821 book(m_trk_matching_deltar_and_clusters_eta , "trk_matching_deltar_and_clusters_eta" );
822 book(m_trk_matching_deltar_and_clusters_phi , "trk_matching_deltar_and_clusters_phi" );
823 book(m_trk_matching_deltar_and_clusters_pt , "trk_matching_deltar_and_clusters_pt" );
824 book(m_trk_matching_deltar_fix_only_clusters_eta , "trk_matching_deltar_fix_only_clusters_eta" );
825 book(m_trk_matching_deltar_fix_only_clusters_phi , "trk_matching_deltar_fix_only_clusters_phi" );
826 book(m_trk_matching_deltar_fix_only_clusters_pt , "trk_matching_deltar_fix_only_clusters_pt" );
827 book(m_trk_matching_deltar_var_only_clusters_eta , "trk_matching_deltar_var_only_clusters_eta" );
828 book(m_trk_matching_deltar_var_only_clusters_phi , "trk_matching_deltar_var_only_clusters_phi" );
829 book(m_trk_matching_deltar_var_only_clusters_pt , "trk_matching_deltar_var_only_clusters_pt" );
830 book(m_trk_matchedFraction_eta_fix_and_var , "trk_matchedFraction_eta_fix_and_var" );
831 book(m_trk_matchedFraction_eta_fix_or_var , "trk_matchedFraction_eta_fix_or_var" );
832 book(m_trk_matchedFraction_eta_fix , "trk_matchedFraction_eta_fix" );
833 book(m_trk_matchedFraction_eta_notfix , "trk_matchedFraction_eta_notfix" );
834 book(m_trk_matchedFraction_eta_var , "trk_matchedFraction_eta_var" );
835 book(m_trk_matchedFraction_eta_notvar , "trk_matchedFraction_eta_notvar" );
836 book(m_trk_matchedFraction_eta_onlyvar , "trk_matchedFraction_eta_onlyvar" );
837 book(m_trk_matchedFraction_eta_onlyfix , "trk_matchedFraction_eta_onlyfix" );
838 book(m_trk_matchedFraction_eta_none , "trk_matchedFraction_eta_none" );
839 book(m_trk_matchedFraction_pt_fix_and_var , "trk_matchedFraction_pt_fix_and_var" );
840 book(m_trk_matchedFraction_pt_fix_or_var , "trk_matchedFraction_pt_fix_or_var" );
841 book(m_trk_matchedFraction_pt_fix , "trk_matchedFraction_pt_fix" );
842 book(m_trk_matchedFraction_pt_notfix , "trk_matchedFraction_pt_notfix" );
843 book(m_trk_matchedFraction_pt_var , "trk_matchedFraction_pt_var" );
844 book(m_trk_matchedFraction_pt_notvar , "trk_matchedFraction_pt_notvar" );
845 book(m_trk_matchedFraction_pt_onlyvar , "trk_matchedFraction_pt_onlyvar" );
846 book(m_trk_matchedFraction_pt_onlyfix , "trk_matchedFraction_pt_onlyfix" );
847 book(m_trk_matchedFraction_pt_none , "trk_matchedFraction_pt_none" );
848
849 book(m_trk_pv0_total_eta , "trk_pv0_total_eta" );
850 book(m_trk_pv0_total_pt , "trk_pv0_total_pt" );
851 book(m_trk_pv0_caloEntryUncTot_eta , "trk_pv0_caloEntryUncTot_eta" );
852 book(m_trk_pv0_caloEntryUncTot_pt , "trk_pv0_caloEntryUncTot_pt" );
853 book(m_trk_pv0_caloEntryUncTot_truthpt , "trk_pv0_caloEntryUncTot_truthpt" );
854 book(m_trk_pv0_total_clusters_eta , "trk_pv0_total_clusters_eta" );
855 book(m_trk_pv0_total_clusters_pt , "trk_pv0_total_clusters_pt" );
856 book(m_trk_pv0_matching_deltar_fix_eta , "trk_pv0_matching_deltar_fix_eta" );
857 book(m_trk_pv0_matching_deltar_fix_pt , "trk_pv0_matching_deltar_fix_pt" );
858 book(m_trk_pv0_matching_deltar_var_eta , "trk_pv0_matching_deltar_var_eta" );
859 book(m_trk_pv0_matching_deltar_var_pt , "trk_pv0_matching_deltar_var_pt" );
860 book(m_trk_pv0_notMatching_deltar_fix_eta , "trk_pv0_notMatching_deltar_fix_eta" );
861 book(m_trk_pv0_notMatching_deltar_fix_pt , "trk_pv0_notMatching_deltar_fix_pt" );
862 book(m_trk_pv0_notMatching_deltar_var_eta , "trk_pv0_notMatching_deltar_var_eta" );
863 book(m_trk_pv0_notMatching_deltar_var_pt , "trk_pv0_notMatching_deltar_var_pt" );
864 book(m_trk_pv0_notMatching_deltar_none_eta , "trk_pv0_notMatching_deltar_none_eta" );
865 book(m_trk_pv0_notMatching_deltar_none_pt , "trk_pv0_notMatching_deltar_none_pt" );
866 book(m_trk_pv0_matching_deltar_fix_and_var_eta , "trk_pv0_matching_deltar_fix_and_var_eta" );
867 book(m_trk_pv0_matching_deltar_fix_and_var_pt , "trk_pv0_matching_deltar_fix_and_var_pt" );
868 book(m_trk_pv0_matching_deltar_fix_or_var_eta , "trk_pv0_matching_deltar_fix_or_var_eta" );
869 book(m_trk_pv0_matching_deltar_fix_or_var_pt , "trk_pv0_matching_deltar_fix_or_var_pt" );
870 book(m_trk_pv0_matching_deltar_onlyfix_eta , "trk_pv0_matching_deltar_onlyfix_eta" );
871 book(m_trk_pv0_matching_deltar_onlyfix_pt , "trk_pv0_matching_deltar_onlyfix_pt" );
872 book(m_trk_pv0_matching_deltar_onlyvar_eta , "trk_pv0_matching_deltar_onlyvar_eta" );
873 book(m_trk_pv0_matching_deltar_onlyvar_pt , "trk_pv0_matching_deltar_onlyvar_pt" );
874 book(m_trk_pv0_matchedFraction_eta_fix_and_var , "trk_pv0_matchedFraction_eta_fix_and_var" );
875 book(m_trk_pv0_matchedFraction_eta_fix_or_var , "trk_pv0_matchedFraction_eta_fix_or_var" );
876 book(m_trk_pv0_matchedFraction_eta_fix , "trk_pv0_matchedFraction_eta_fix" );
877 book(m_trk_pv0_matchedFraction_eta_notfix , "trk_pv0_matchedFraction_eta_notfix" );
878 book(m_trk_pv0_matchedFraction_eta_var , "trk_pv0_matchedFraction_eta_var" );
879 book(m_trk_pv0_matchedFraction_eta_notvar , "trk_pv0_matchedFraction_eta_notvar" );
880 book(m_trk_pv0_matchedFraction_eta_onlyvar , "trk_pv0_matchedFraction_eta_onlyvar" );
881 book(m_trk_pv0_matchedFraction_eta_onlyfix , "trk_pv0_matchedFraction_eta_onlyfix" );
882 book(m_trk_pv0_matchedFraction_eta_none , "trk_pv0_matchedFraction_eta_none" );
883 book(m_trk_pv0_matchedFraction_pt_fix_and_var , "trk_pv0_matchedFraction_pt_fix_and_var" );
884 book(m_trk_pv0_matchedFraction_pt_fix_or_var , "trk_pv0_matchedFraction_pt_fix_or_var" );
885 book(m_trk_pv0_matchedFraction_pt_fix , "trk_pv0_matchedFraction_pt_fix" );
886 book(m_trk_pv0_matchedFraction_pt_notfix , "trk_pv0_matchedFraction_pt_notfix" );
887 book(m_trk_pv0_matchedFraction_pt_var , "trk_pv0_matchedFraction_pt_var" );
888 book(m_trk_pv0_matchedFraction_pt_notvar , "trk_pv0_matchedFraction_pt_notvar" );
889 book(m_trk_pv0_matchedFraction_pt_onlyvar , "trk_pv0_matchedFraction_pt_onlyvar" );
890 book(m_trk_pv0_matchedFraction_pt_onlyfix , "trk_pv0_matchedFraction_pt_onlyfix" );
891 book(m_trk_pv0_matchedFraction_pt_none , "trk_pv0_matchedFraction_pt_none" );
892
893 book(m_trk_pv0_caloEntryUncTot_eta_0SiHits , "trk_pv0_caloEntryUncTot_eta_0SiHits" );
894 book(m_trk_pv0_caloEntryUncTot_pt_0SiHits , "trk_pv0_caloEntryUncTot_pt_0SiHits" );
895 book(m_trk_pv0_caloEntryUncTot_rFirstHit_0SiHits , "trk_pv0_caloEntryUncTot_rFirstHit_0SiHits" );
896 book(m_trk_pv0_caloEntryUncTot_nSiHits , "trk_pv0_caloEntryUncTot_nSiHits" );
897 book(m_trk_pv0_caloEntryUncTot_rFirstHit , "trk_pv0_caloEntryUncTot_rFirstHit" );
898
899 } else if (m_collectionType == "clusters") {
900
901 book(m_clusters_eta , "clusters_eta" );
902 book(m_clusters_matched_eta , "clusters_matched_eta" );
903 book(m_clusters_notMatched_eta , "clusters_notMatched_eta" );
904 book(m_clusters_matchedFraction_eta , "clusters_matchedFraction_eta" );
905 book(m_clusters_notMatchedFraction_eta , "clusters_notMatchedFraction_eta");
906 book(m_clusters_matchedFraction_energy , "clusters_matchedFraction_energy" );
907 book(m_clusters_notMatchedFraction_energy , "clusters_notMatchedFraction_energy");
908 book(m_clusters_width , "clusters_width" );
909 book(m_clusters_width_eta , "clusters_width_eta" );
910 book(m_clusters_energy , "clusters_energy" );
911 book(m_clusters_abs_energy , "clusters_abs_energy" );
912 book(m_clusters_width_energy , "clusters_width_energy" );
913 book(m_clusters_abs_width_energy , "clusters_abs_width_energy" );
914 book(m_clusters_matched_energy , "clusters_matched_energy" );
915 book(m_clusters_notMatched_energy , "clusters_notMatched_energy" );
916 book(m_clusters_matched_eta_fix_and_var , "clusters_matched_eta_fix_and_var" );
917 book(m_clusters_matched_eta_fix_or_var , "clusters_matched_eta_fix_or_var" );
918 book(m_clusters_matched_eta_fix , "clusters_matched_eta_fix" );
919 book(m_clusters_matched_eta_notfix , "clusters_matched_eta_notfix" );
920 book(m_clusters_matched_eta_var , "clusters_matched_eta_var" );
921 book(m_clusters_matched_eta_notvar , "clusters_matched_eta_notvar" );
922 book(m_clusters_matched_eta_onlyvar , "clusters_matched_eta_onlyvar" );
923 book(m_clusters_matched_eta_onlyfix , "clusters_matched_eta_onlyfix" );
924 book(m_clusters_matched_eta_none , "clusters_matched_eta_none" );
925 book(m_clusters_matchedFraction_eta_fix_and_var, "clusters_matchedFraction_eta_fix_and_var" );
926 book(m_clusters_matchedFraction_eta_fix_or_var , "clusters_matchedFraction_eta_fix_or_var" );
927 book(m_clusters_matchedFraction_eta_fix , "clusters_matchedFraction_eta_fix" );
928 book(m_clusters_matchedFraction_eta_notfix , "clusters_matchedFraction_eta_notfix" );
929 book(m_clusters_matchedFraction_eta_var , "clusters_matchedFraction_eta_var" );
930 book(m_clusters_matchedFraction_eta_notvar , "clusters_matchedFraction_eta_notvar" );
931 book(m_clusters_matchedFraction_eta_onlyvar , "clusters_matchedFraction_eta_onlyvar" );
932 book(m_clusters_matchedFraction_eta_onlyfix , "clusters_matchedFraction_eta_onlyfix" );
933 book(m_clusters_matchedFraction_eta_none , "clusters_matchedFraction_eta_none" );
934
935 book(m_clusters_abs_eta , "clusters_abs_eta" );
936 book(m_clusters_abs_matched_eta , "clusters_abs_matched_eta" );
937 book(m_clusters_abs_notMatched_eta , "clusters_abs_notMatched_eta" );
938 book(m_clusters_abs_matchedFraction_eta , "clusters_abs_matchedFraction_eta" );
939 book(m_clusters_abs_notMatchedFraction_eta , "clusters_abs_notMatchedFraction_eta");
940 book(m_clusters_abs_matched_energy , "clusters_abs_matched_energy" );
941 book(m_clusters_abs_notMatched_energy , "clusters_abs_notMatched_energy" );
942 book(m_clusters_abs_matchedFraction_energy , "clusters_abs_matchedFraction_energy" );
943 book(m_clusters_abs_notMatchedFraction_energy , "clusters_abs_notMatchedFraction_energy");
944 book(m_clusters_abs_width , "clusters_abs_width" );
945 book(m_clusters_abs_width_eta , "clusters_abs_width_eta" );
946 book(m_clusters_abs_matched_eta_fix_and_var , "clusters_abs_matched_eta_fix_and_var" );
947 book(m_clusters_abs_matched_eta_fix_or_var , "clusters_abs_matched_eta_fix_or_var" );
948 book(m_clusters_abs_matched_eta_fix , "clusters_abs_matched_eta_fix" );
949 book(m_clusters_abs_matched_eta_notfix , "clusters_abs_matched_eta_notfix" );
950 book(m_clusters_abs_matched_eta_var , "clusters_abs_matched_eta_var" );
951 book(m_clusters_abs_matched_eta_notvar , "clusters_abs_matched_eta_notvar" );
952 book(m_clusters_abs_matched_eta_onlyvar , "clusters_abs_matched_eta_onlyvar" );
953 book(m_clusters_abs_matched_eta_onlyfix , "clusters_abs_matched_eta_onlyfix" );
954 book(m_clusters_abs_matched_eta_none , "clusters_abs_matched_eta_none" );
955 book(m_clusters_abs_matchedFraction_eta_fix_and_var, "clusters_abs_matchedFraction_eta_fix_and_var" );
956 book(m_clusters_abs_matchedFraction_eta_fix_or_var , "clusters_abs_matchedFraction_eta_fix_or_var" );
957 book(m_clusters_abs_matchedFraction_eta_fix , "clusters_abs_matchedFraction_eta_fix" );
958 book(m_clusters_abs_matchedFraction_eta_notfix , "clusters_abs_matchedFraction_eta_notfix" );
959 book(m_clusters_abs_matchedFraction_eta_var , "clusters_abs_matchedFraction_eta_var" );
960 book(m_clusters_abs_matchedFraction_eta_notvar , "clusters_abs_matchedFraction_eta_notvar" );
961 book(m_clusters_abs_matchedFraction_eta_onlyvar , "clusters_abs_matchedFraction_eta_onlyvar" );
962 book(m_clusters_abs_matchedFraction_eta_onlyfix , "clusters_abs_matchedFraction_eta_onlyfix" );
963 book(m_clusters_abs_matchedFraction_eta_none , "clusters_abs_matchedFraction_eta_none" );
964
965 book(m_clusters_matched_pv0_eta_fix_and_var , "clusters_matched_pv0_eta_fix_and_var" );
966 book(m_clusters_matched_pv0_eta_fix_or_var , "clusters_matched_pv0_eta_fix_or_var" );
967 book(m_clusters_matched_pv0_eta_fix , "clusters_matched_pv0_eta_fix" );
968 book(m_clusters_matched_pv0_eta_notfix , "clusters_matched_pv0_eta_notfix" );
969 book(m_clusters_matched_pv0_eta_var , "clusters_matched_pv0_eta_var" );
970 book(m_clusters_matched_pv0_eta_notvar , "clusters_matched_pv0_eta_notvar" );
971 book(m_clusters_matched_pv0_eta_onlyvar , "clusters_matched_pv0_eta_onlyvar" );
972 book(m_clusters_matched_pv0_eta_onlyfix , "clusters_matched_pv0_eta_onlyfix" );
973 book(m_clusters_matched_pv0_eta_none , "clusters_matched_pv0_eta_none" );
974 book(m_clusters_abs_matched_pv0_eta_fix_and_var , "clusters_abs_matched_pv0_eta_fix_and_var" );
975 book(m_clusters_abs_matched_pv0_eta_fix_or_var , "clusters_abs_matched_pv0_eta_fix_or_var" );
976 book(m_clusters_abs_matched_pv0_eta_fix , "clusters_abs_matched_pv0_eta_fix" );
977 book(m_clusters_abs_matched_pv0_eta_notfix , "clusters_abs_matched_pv0_eta_notfix" );
978 book(m_clusters_abs_matched_pv0_eta_var , "clusters_abs_matched_pv0_eta_var" );
979 book(m_clusters_abs_matched_pv0_eta_notvar , "clusters_abs_matched_pv0_eta_notvar" );
980 book(m_clusters_abs_matched_pv0_eta_onlyvar , "clusters_abs_matched_pv0_eta_onlyvar" );
981 book(m_clusters_abs_matched_pv0_eta_onlyfix , "clusters_abs_matched_pv0_eta_onlyfix" );
982 book(m_clusters_abs_matched_pv0_eta_none , "clusters_abs_matched_pv0_eta_none" );
983 book(m_clusters_matchedpv0Fraction_eta_fix_and_var , "clusters_matchedpv0Fraction_eta_fix_and_var" );
984 book(m_clusters_matchedpv0Fraction_eta_fix_or_var , "clusters_matchedpv0Fraction_eta_fix_or_var" );
985 book(m_clusters_matchedpv0Fraction_eta_fix , "clusters_matchedpv0Fraction_eta_fix" );
986 book(m_clusters_matchedpv0Fraction_eta_notfix , "clusters_matchedpv0Fraction_eta_notfix" );
987 book(m_clusters_matchedpv0Fraction_eta_var , "clusters_matchedpv0Fraction_eta_var" );
988 book(m_clusters_matchedpv0Fraction_eta_notvar , "clusters_matchedpv0Fraction_eta_notvar" );
989 book(m_clusters_matchedpv0Fraction_eta_onlyvar , "clusters_matchedpv0Fraction_eta_onlyvar" );
990 book(m_clusters_matchedpv0Fraction_eta_onlyfix , "clusters_matchedpv0Fraction_eta_onlyfix" );
991 book(m_clusters_matchedpv0Fraction_eta_none , "clusters_matchedpv0Fraction_eta_none" );
992 book(m_clusters_abs_matchedpv0Fraction_eta_fix_and_var, "clusters_abs_matchedpv0Fraction_eta_fix_and_var" );
993 book(m_clusters_abs_matchedpv0Fraction_eta_fix_or_var , "clusters_abs_matchedpv0Fraction_eta_fix_or_var" );
994 book(m_clusters_abs_matchedpv0Fraction_eta_fix , "clusters_abs_matchedpv0Fraction_eta_fix" );
995 book(m_clusters_abs_matchedpv0Fraction_eta_notfix , "clusters_abs_matchedpv0Fraction_eta_notfix" );
996 book(m_clusters_abs_matchedpv0Fraction_eta_var , "clusters_abs_matchedpv0Fraction_eta_var" );
997 book(m_clusters_abs_matchedpv0Fraction_eta_notvar , "clusters_abs_matchedpv0Fraction_eta_notvar" );
998 book(m_clusters_abs_matchedpv0Fraction_eta_onlyvar , "clusters_abs_matchedpv0Fraction_eta_onlyvar" );
999 book(m_clusters_abs_matchedpv0Fraction_eta_onlyfix , "clusters_abs_matchedpv0Fraction_eta_onlyfix" );
1000 book(m_clusters_abs_matchedpv0Fraction_eta_none , "clusters_abs_matchedpv0Fraction_eta_none" );
1001
1002
1003 book(m_clusters_matched_pvx_eta_fix_and_var , "clusters_matched_pvx_eta_fix_and_var" );
1004 book(m_clusters_matched_pvx_eta_fix_or_var , "clusters_matched_pvx_eta_fix_or_var" );
1005 book(m_clusters_matched_pvx_eta_fix , "clusters_matched_pvx_eta_fix" );
1006 book(m_clusters_matched_pvx_eta_notfix , "clusters_matched_pvx_eta_notfix" );
1007 book(m_clusters_matched_pvx_eta_var , "clusters_matched_pvx_eta_var" );
1008 book(m_clusters_matched_pvx_eta_notvar , "clusters_matched_pvx_eta_notvar" );
1009 book(m_clusters_matched_pvx_eta_onlyvar , "clusters_matched_pvx_eta_onlyvar" );
1010 book(m_clusters_matched_pvx_eta_onlyfix , "clusters_matched_pvx_eta_onlyfix" );
1011 book(m_clusters_matched_pvx_eta_none , "clusters_matched_pvx_eta_none" );
1012 book(m_clusters_abs_matched_pvx_eta_fix_and_var , "clusters_abs_matched_pvx_eta_fix_and_var" );
1013 book(m_clusters_abs_matched_pvx_eta_fix_or_var , "clusters_abs_matched_pvx_eta_fix_or_var" );
1014 book(m_clusters_abs_matched_pvx_eta_fix , "clusters_abs_matched_pvx_eta_fix" );
1015 book(m_clusters_abs_matched_pvx_eta_notfix , "clusters_abs_matched_pvx_eta_notfix" );
1016 book(m_clusters_abs_matched_pvx_eta_var , "clusters_abs_matched_pvx_eta_var" );
1017 book(m_clusters_abs_matched_pvx_eta_notvar , "clusters_abs_matched_pvx_eta_notvar" );
1018 book(m_clusters_abs_matched_pvx_eta_onlyvar , "clusters_abs_matched_pvx_eta_onlyvar" );
1019 book(m_clusters_abs_matched_pvx_eta_onlyfix , "clusters_abs_matched_pvx_eta_onlyfix" );
1020 book(m_clusters_abs_matched_pvx_eta_none , "clusters_abs_matched_pvx_eta_none" );
1021 book(m_clusters_matchedpvxFraction_eta_fix_and_var , "clusters_matchedpvxFraction_eta_fix_and_var" );
1022 book(m_clusters_matchedpvxFraction_eta_fix_or_var , "clusters_matchedpvxFraction_eta_fix_or_var" );
1023 book(m_clusters_matchedpvxFraction_eta_fix , "clusters_matchedpvxFraction_eta_fix" );
1024 book(m_clusters_matchedpvxFraction_eta_notfix , "clusters_matchedpvxFraction_eta_notfix" );
1025 book(m_clusters_matchedpvxFraction_eta_var , "clusters_matchedpvxFraction_eta_var" );
1026 book(m_clusters_matchedpvxFraction_eta_notvar , "clusters_matchedpvxFraction_eta_notvar" );
1027 book(m_clusters_matchedpvxFraction_eta_onlyvar , "clusters_matchedpvxFraction_eta_onlyvar" );
1028 book(m_clusters_matchedpvxFraction_eta_onlyfix , "clusters_matchedpvxFraction_eta_onlyfix" );
1029 book(m_clusters_matchedpvxFraction_eta_none , "clusters_matchedpvxFraction_eta_none" );
1030 book(m_clusters_abs_matchedpvxFraction_eta_fix_and_var, "clusters_abs_matchedpvxFraction_eta_fix_and_var" );
1031 book(m_clusters_abs_matchedpvxFraction_eta_fix_or_var , "clusters_abs_matchedpvxFraction_eta_fix_or_var" );
1032 book(m_clusters_abs_matchedpvxFraction_eta_fix , "clusters_abs_matchedpvxFraction_eta_fix" );
1033 book(m_clusters_abs_matchedpvxFraction_eta_notfix , "clusters_abs_matchedpvxFraction_eta_notfix" );
1034 book(m_clusters_abs_matchedpvxFraction_eta_var , "clusters_abs_matchedpvxFraction_eta_var" );
1035 book(m_clusters_abs_matchedpvxFraction_eta_notvar , "clusters_abs_matchedpvxFraction_eta_notvar" );
1036 book(m_clusters_abs_matchedpvxFraction_eta_onlyvar , "clusters_abs_matchedpvxFraction_eta_onlyvar" );
1037 book(m_clusters_abs_matchedpvxFraction_eta_onlyfix , "clusters_abs_matchedpvxFraction_eta_onlyfix" );
1038 book(m_clusters_abs_matchedpvxFraction_eta_none , "clusters_abs_matchedpvxFraction_eta_none" );
1039
1040
1041 book(m_clusters_pt_fraction_e , "clusters_pt_fraction_e" );
1042 book(m_clusters_PV0_pt_fraction_e , "clusters_PV0_pt_fraction_e" );
1043 book(m_clusters_PVX_pt_fraction_e , "clusters_PVX_pt_fraction_e" );
1044 book(m_clusters_rejected_pt_fraction_e , "clusters_rejected_pt_fraction_e" );
1045
1046 book(m_clusters_all_neutral_eta , "clusters_all_neutral_eta" );
1047 book(m_clusters_all_neutral_e , "clusters_all_neutral_e" );
1048 book(m_clusters_all_neutral_PV0_eta , "clusters_all_neutral_PV0_eta" );
1049 book(m_clusters_all_neutral_PV0_e , "clusters_all_neutral_PV0_e" );
1050 book(m_clusters_all_neutral_notPV0_eta , "clusters_all_neutral_notPV0_eta" );
1051 book(m_clusters_all_neutral_notPV0_e , "clusters_all_neutral_notPV0_e" );
1052 book(m_clusters_all_neutral_neutral_eta , "clusters_all_neutral_neutral_eta" );
1053 book(m_clusters_all_neutral_neutral_e , "clusters_all_neutral_neutral_e" );
1054
1055 book(m_clusters_etacut_eta , "clusters_etacut_eta" );
1056 book(m_clusters_etacut_width , "clusters_etacut_width" );
1057 book(m_clusters_etacut_width_eta , "clusters_etacut_width_eta" );
1058 book(m_clusters_etacut_energy , "clusters_etacut_energy" );
1059 book(m_clusters_etacut_width_energy , "clusters_etacut_width_energy" );
1060 book(m_clusters_etacut_abs_eta , "clusters_etacut_abs_eta" );
1061 book(m_clusters_etacut_abs_width , "clusters_etacut_abs_width" );
1062 book(m_clusters_etacut_abs_width_eta , "clusters_etacut_abs_width_eta" );
1063 book(m_clusters_etacut_abs_energy , "clusters_etacut_abs_energy" );
1064 book(m_clusters_etacut_abs_width_energy , "clusters_etacut_abs_width_energy" );
1065
1066 } else if (m_collectionType == "tccs") {
1067 book(m_tcc_pt , "tcc_pt" );
1068 book(m_tcc_pt_etacut , "tcc_pt_etacut" );
1069 book(m_tcc_phi , "tcc_phi" );
1070 book(m_tcc_eta , "tcc_eta" );
1071 book(m_tcc_eta_ptcut , "tcc_eta_ptcut" );
1072 book(m_tcc_m , "tcc_m" );
1073 book(m_tcc_taste , "tcc_taste" );
1074 book(m_tcc_taste_pt , "tcc_taste_pt" );
1075 book(m_tcc_taste_pt_etacut , "tcc_taste_pt_etacut" );
1076 book(m_tcc_taste_eta , "tcc_taste_eta" );
1077 book(m_tcc_taste_eta_ptcut , "tcc_taste_eta_ptcut" );
1078 book(m_tcc_pt_pseudoresponse , "tcc_pt_pseudoresponse" );
1079 book(m_tcc_pt_track_pt , "tcc_pt_track_pt" );
1080 book(m_tcc_pt_truth_pt , "tcc_pt_truth_pt" );
1081 book(m_tcc_pt_response , "tcc_pt_response" );
1082 book(m_tcc_N_M , "tcc_N_M" );
1083 book(m_tcc_N_M_pv0 , "tcc_N_M_pv0" );
1084
1085 book(m_trk_tcc_reco_pt_truth_pt , "trk_tcc_reco_pt_truth_pt" );
1086 book(m_trk_tcc_reco_pt_response , "trk_tcc_reco_pt_response" );
1087
1088 } else
1089 std::cout << "WARNING: TCCPlots configured with unkown collection. Please check if you are using jets or tracks!" << std::endl;
1090
1092}
1093
1095 fillHisto(m_jet_n , jets.size(), m_eventWeight);
1096}
1097
1104
1105void TCCPlots::fill(const xAOD::Jet& jet, const xAOD::Jet& truth) {
1106 fillHisto(m_jet_deltaR , jet.p4().DeltaR(truth.p4()), m_eventWeight);
1107}
1108
1109void TCCPlots::fillResponse(const xAOD::Jet& jet, const xAOD::Jet& truth) {
1110 fillHisto(m_jet_deltaR_matched , jet.p4().DeltaR(truth.p4()), m_eventWeight);
1111 fillHisto(m_jet_response_m , jet.m() /truth.m() , m_eventWeight);
1115
1117 fillHisto(m_jet_response_add_eta_pt, truth.pt()/GeV, jet.eta() - truth.eta(), m_eventWeight);
1118
1119 fillHisto(m_jet_response_m_pt , truth.pt()/GeV, jet.m()/truth.m() , m_eventWeight);
1120
1121 static const SG::AuxElement::Accessor<float> accD2("D2");
1122 if (accD2.isAvailable(jet) and accD2.isAvailable(truth)) {
1123 fillHisto(m_jet_response_d2 , accD2(jet)/accD2(truth), m_eventWeight);
1124 fillHisto(m_jet_response_d2_pt, truth.pt()/GeV, accD2(jet)/accD2(truth) , m_eventWeight);
1125 fillHisto(m_jet_response_add_d2 , accD2(jet) - accD2(truth), m_eventWeight);
1126 fillHisto(m_jet_response_add_d2_pt, truth.pt()/GeV, accD2(jet) - accD2(truth) , m_eventWeight);
1127 }
1128}
1129
1130void TCCPlots::fillResponseNPV(const xAOD::Jet& jet, const xAOD::Jet& truth, int npv) {
1131 fillHisto(m_jet_response_m_npv , npv, jet.m()/truth.m() , m_eventWeight);
1132}
1133
1135 fillHisto(m_jet_mopt_pt_response_m , truth.pt()/GeV, truth.m()/truth.pt(), jet.m() /truth.m() , m_eventWeight);
1136 fillHisto(m_jet_mopt_pt_response_pt , truth.pt()/GeV, truth.m()/truth.pt(), jet.pt()/truth.pt() , m_eventWeight);
1137 fillHisto(m_jet_mopt_pt_response_eta , truth.pt()/GeV, truth.m()/truth.pt(), jet.eta()/truth.eta(), m_eventWeight);
1138 fillHisto(m_jet_mopt_pt_response_phi , truth.pt()/GeV, truth.m()/truth.pt(), jet.phi()/truth.phi(), m_eventWeight);
1139
1140 static const SG::AuxElement::Accessor<float> accD2("D2");
1141 if (accD2.isAvailable(jet) and accD2.isAvailable(truth))
1142 fillHisto(m_jet_mopt_pt_response_d2 , truth.pt()/GeV, truth.m()/truth.pt(), accD2(jet)/accD2(truth), m_eventWeight);
1143}
1144
1148
1149 static const SG::AuxElement::Accessor<float> ptAcc("JetConstitScaleMomentum_pt");
1150 if (ptAcc.isAvailable(calo)) {
1152 }
1153}
1154
1156 static const SG::AuxElement::Accessor<float> accD2("D2");
1157 if (accD2.isAvailable(jet))
1159}
1160
1162 static const SG::AuxElement::Accessor<float> accD2("D2");
1163 if (accD2.isAvailable(jet))
1165}
1166
1168 static const SG::AuxElement::Accessor<float> accD2("D2");
1169 if (accD2.isAvailable(jet)) {
1172 }
1173}
1174
1182
1184 static const SG::AuxElement::Accessor<float> accD2("D2");
1185 if (accD2.isAvailable(jet)) {
1188 }
1189}
1190
1198
1208
1211
1214
1217
1218 static const SG::AuxElement::Accessor<float> accD2("D2");
1219 if (accD2.isAvailable(jet) and accD2.isAvailable(truth)) {
1221 fillHisto(m_jet_response_d2_leading , accD2(jet)/accD2(truth), m_eventWeight);
1222 fillHisto(m_jet_response_d2_pt_2leadings , truth.pt()/GeV, accD2(jet)/accD2(truth), m_eventWeight);
1223 fillHisto(m_jet_response_d2_pt_leading , truth.pt()/GeV, accD2(jet)/accD2(truth), m_eventWeight);
1225 fillHisto(m_jet_response_add_d2_leading , accD2(jet) - accD2(truth), m_eventWeight);
1226 fillHisto(m_jet_response_add_d2_pt_2leadings , truth.pt()/GeV, accD2(jet) - accD2(truth), m_eventWeight);
1227 fillHisto(m_jet_response_add_d2_pt_leading , truth.pt()/GeV, accD2(jet) - accD2(truth), m_eventWeight);
1228 }
1229}
1230
1231void TCCPlots::fillResponseLeadingNPV(const xAOD::Jet& jet, const xAOD::Jet& truth, int npv) {
1234}
1235
1237 fillHisto(m_jet_mopt_pt_response_m_leading , truth.pt()/GeV, truth.m()/truth.pt(), jet.m() /truth.m() , m_eventWeight);
1238 fillHisto(m_jet_mopt_pt_response_m_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.m() /truth.m() , m_eventWeight);
1239 fillHisto(m_jet_mopt_pt_response_pt_leading , truth.pt()/GeV, truth.m()/truth.pt(), jet.pt()/truth.pt() , m_eventWeight);
1240 fillHisto(m_jet_mopt_pt_response_pt_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.pt()/truth.pt() , m_eventWeight);
1241 fillHisto(m_jet_mopt_pt_response_eta_leading , truth.pt()/GeV, truth.m()/truth.pt(), jet.eta()/truth.eta(), m_eventWeight);
1242 fillHisto(m_jet_mopt_pt_response_eta_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.eta()/truth.eta(), m_eventWeight);
1243 fillHisto(m_jet_mopt_pt_response_phi_leading , truth.pt()/GeV, truth.m()/truth.pt(), jet.phi()/truth.phi(), m_eventWeight);
1244 fillHisto(m_jet_mopt_pt_response_phi_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.phi()/truth.phi(), m_eventWeight);
1245
1246
1247 static const SG::AuxElement::Accessor<float> accD2("D2");
1248 if (accD2.isAvailable(jet) and accD2.isAvailable(truth)) {
1249 fillHisto(m_jet_mopt_pt_response_d2_leading , truth.pt()/GeV, truth.m()/truth.pt(), accD2(jet)/accD2(truth), m_eventWeight);
1250 fillHisto(m_jet_mopt_pt_response_d2_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), accD2(jet)/accD2(truth), m_eventWeight);
1251 }
1252}
1253
1264
1274
1277
1280
1283
1284 static const SG::AuxElement::Accessor<float> accD2("D2");
1285 if (accD2.isAvailable(jet) and accD2.isAvailable(truth)) {
1288 fillHisto(m_jet_response_d2_pt_2leadings , truth.pt()/GeV, accD2(jet)/accD2(truth), m_eventWeight);
1289 fillHisto(m_jet_response_d2_pt_subleading , truth.pt()/GeV, accD2(jet)/accD2(truth), m_eventWeight);
1292 fillHisto(m_jet_response_add_d2_pt_2leadings , truth.pt()/GeV, accD2(jet) - accD2(truth), m_eventWeight);
1293 fillHisto(m_jet_response_add_d2_pt_subleading , truth.pt()/GeV, accD2(jet) - accD2(truth), m_eventWeight);
1294 }
1295}
1296
1301
1303 fillHisto(m_jet_mopt_pt_response_m_subleading , truth.pt()/GeV, truth.m()/truth.pt(), jet.m() /truth.m() , m_eventWeight);
1304 fillHisto(m_jet_mopt_pt_response_m_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.m() /truth.m() , m_eventWeight);
1305 fillHisto(m_jet_mopt_pt_response_pt_subleading , truth.pt()/GeV, truth.m()/truth.pt(), jet.pt()/truth.pt() , m_eventWeight);
1306 fillHisto(m_jet_mopt_pt_response_pt_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.pt()/truth.pt() , m_eventWeight);
1307 fillHisto(m_jet_mopt_pt_response_eta_subleading , truth.pt()/GeV, truth.m()/truth.pt(), jet.eta()/truth.eta(), m_eventWeight);
1308 fillHisto(m_jet_mopt_pt_response_eta_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.eta()/truth.eta(), m_eventWeight);
1309 fillHisto(m_jet_mopt_pt_response_phi_subleading , truth.pt()/GeV, truth.m()/truth.pt(), jet.phi()/truth.phi(), m_eventWeight);
1310 fillHisto(m_jet_mopt_pt_response_phi_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), jet.phi()/truth.phi(), m_eventWeight);
1311
1312 static const SG::AuxElement::Accessor<float> accD2("D2");
1313 if (accD2.isAvailable(jet) and accD2.isAvailable(truth)) {
1314 fillHisto(m_jet_mopt_pt_response_d2_subleading, truth.pt()/GeV, truth.m()/truth.pt(), accD2(jet)/accD2(truth), m_eventWeight);
1315 fillHisto(m_jet_mopt_pt_response_d2_2leadings , truth.pt()/GeV, truth.m()/truth.pt(), accD2(jet)/accD2(truth), m_eventWeight);
1316 }
1317}
1318
1329
1342
1355
1357 fillHisto(m_trk_d0_pt , track.pt()/GeV, track.d0() , m_eventWeight);
1358 fillHisto(m_trk_z0_pt , track.pt()/GeV, track.z0() , m_eventWeight);
1359 fillHisto(m_trk_theta_pt , track.pt()/GeV, track.theta() , m_eventWeight);
1360 fillHisto(m_trk_phi_pt , track.pt()/GeV, track.phi() , m_eventWeight);
1361 fillHisto(m_trk_qOverP_pt , track.pt()/GeV, track.qOverP(), m_eventWeight);
1362}
1363
1365 static const SG::AuxElement::Accessor< float > acc_caloEntryPosEta( "CaloEntryPosEta" );
1366 static const SG::AuxElement::Accessor< float > acc_caloEntryUncEta( "CaloEntryUncEta" );
1367 static const SG::AuxElement::Accessor< float > acc_caloEntryUncTheta( "CaloEntryUncTheta" );
1368 if (acc_caloEntryPosEta.isAvailable(track)) {
1369 float caloEntryEta = acc_caloEntryPosEta(track);
1370 fillHisto(m_trk_caloEntryEtaOverEta_pt , track.pt()/GeV , caloEntryEta/track.eta(), m_eventWeight);
1371 }
1372
1373 if (acc_caloEntryUncEta.isAvailable(track)) {
1374 float caloEntryUncEta = acc_caloEntryUncEta(track);
1375 fillHisto(m_trk_caloEntryUncEta_pt , track.pt()/GeV , caloEntryUncEta, m_eventWeight);
1376 }
1377 if (acc_caloEntryUncTheta.isAvailable(track)) {
1378 float caloEntryUncTheta = acc_caloEntryUncTheta(track);
1379 fillHisto(m_trk_caloEntryUncTheta_pt , track.pt()/GeV , caloEntryUncTheta, m_eventWeight);
1380 }
1381
1382 static const SG::AuxElement::Accessor< float > acc_caloEntryPosPhi( "CaloEntryPosPhi" );
1383 static const SG::AuxElement::Accessor< float > acc_caloEntryUncPhi( "CaloEntryUncPhi" );
1384 if (acc_caloEntryPosPhi.isAvailable(track)) {
1385 float caloEntryPhi = acc_caloEntryPosPhi(track);
1386 fillHisto(m_trk_caloEntryPhiOverPhi_pt , track.pt()/GeV , caloEntryPhi/track.phi(), m_eventWeight);
1387 }
1388
1389 if (acc_caloEntryUncPhi.isAvailable(track)) {
1390 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1391 fillHisto(m_trk_caloEntryUncPhi_pt , track.pt()/GeV , caloEntryUncPhi, m_eventWeight);
1392 }
1393
1394 if (acc_caloEntryUncEta.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track)) {
1395 float caloEntryUncEta = acc_caloEntryUncEta(track);
1396 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1397 float totUnc = sqrt(caloEntryUncEta*caloEntryUncEta+caloEntryUncPhi*caloEntryUncPhi);
1398 fillHisto(m_trk_caloEntryUncTot_pt , track.pt()/GeV , totUnc, m_eventWeight);
1399 }
1400}
1401
1403
1404 static const SG::AuxElement::Accessor< float > acc_perigeePosEta( "PerigeePosEta" );
1405 static const SG::AuxElement::Accessor< float > acc_perigeeUncEta( "PerigeeUncEta" );
1406 static const SG::AuxElement::Accessor< float > acc_perigeeUncTheta( "PerigeeUncTheta" );
1407 if (acc_perigeeUncEta.isAvailable(track)) {
1408 float perigeeUncEta = acc_perigeeUncEta(track);
1409 fillHisto(m_trk_perigeeUncEta_pt , track.pt()/GeV , perigeeUncEta, m_eventWeight);
1410 }
1411 if (acc_perigeeUncTheta.isAvailable(track)) {
1412 float perigeeUncTheta = acc_perigeeUncTheta(track);
1413 fillHisto(m_trk_perigeeUncTheta_pt , track.pt()/GeV , perigeeUncTheta, m_eventWeight);
1414 }
1415
1416 static const SG::AuxElement::Accessor< float > acc_perigeePosPhi( "PerigeePosPhi" );
1417 static const SG::AuxElement::Accessor< float > acc_perigeeUncPhi( "PerigeeUncPhi" );
1418 if (acc_perigeeUncPhi.isAvailable(track)) {
1419 float perigeeUncPhi = acc_perigeeUncPhi(track);
1420 fillHisto(m_trk_perigeeUncPhi_pt , track.pt()/GeV , perigeeUncPhi, m_eventWeight);
1421 }
1422
1423 if (acc_perigeeUncEta.isAvailable(track) and acc_perigeeUncPhi.isAvailable(track)) {
1424 float perigeeUncEta = acc_perigeeUncEta(track);
1425 float perigeeUncPhi = acc_perigeeUncPhi(track);
1426 float totUnc = sqrt(perigeeUncEta*perigeeUncEta+perigeeUncPhi*perigeeUncPhi);
1427 fillHisto(m_trk_perigeeUncTot_pt , track.pt()/GeV , totUnc, m_eventWeight);
1428 }
1429}
1430
1432 static const SG::AuxElement::Accessor< float > acc_perigeeEta( "PerigeePosEta" );
1433 static const SG::AuxElement::Accessor< float > acc_perigeePhi( "PerigeePosPhi" );
1434 static const SG::AuxElement::Accessor< float > acc_caloEntryEta( "CaloEntryPosEta" );
1435 static const SG::AuxElement::Accessor< float > acc_caloEntryPhi( "CaloEntryPosPhi" );
1436
1437 if (acc_perigeeEta.isAvailable(track) and acc_perigeePhi.isAvailable(track) and acc_caloEntryEta.isAvailable(track) and acc_caloEntryPhi.isAvailable(track)) {
1438 float delta_eta = acc_caloEntryEta(track) - acc_perigeeEta(track);
1439 float delta_phi = acc_caloEntryPhi(track) - acc_perigeePhi(track);
1440
1441 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1442 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1443
1446
1447
1448 delta_eta = acc_caloEntryEta(track) - track.eta();
1449 delta_phi = acc_caloEntryPhi(track) - track.phi();
1450
1451 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1452 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1453
1456 }
1457
1458 static const SG::AuxElement::Accessor< int > acc_caloEntryCorr( "Corrected" );
1459 static const SG::AuxElement::Accessor< float > acc_caloEntryEtaCorr( "CaloEntryPosEtaCorr" );
1460 static const SG::AuxElement::Accessor< float > acc_caloEntryPhiCorr( "CaloEntryPosPhiCorr" );
1461
1462 if (acc_caloEntryCorr.isAvailable(track) and acc_caloEntryCorr(track)>0) {
1463 float delta_eta = acc_caloEntryEtaCorr(track) - track.eta();
1464 float delta_phi = acc_caloEntryPhiCorr(track) - track.phi();
1465
1466 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1467 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1468
1471 }
1472
1473 if (acc_caloEntryEta.isAvailable(track) and acc_caloEntryPhi.isAvailable(track) and acc_caloEntryCorr.isAvailable(track) and acc_caloEntryCorr(track)>0) {
1474 float delta_eta = acc_caloEntryEtaCorr(track) - acc_caloEntryEta(track);
1475 float delta_phi = acc_caloEntryPhiCorr(track) - acc_caloEntryPhi(track);
1476
1477 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1478 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1479
1482 }
1483}
1484
1486 fillHisto(m_trk_d0 , track.d0() , m_eventWeight);
1487 fillHisto(m_trk_z0 , track.z0() , m_eventWeight);
1488 fillHisto(m_trk_theta , track.theta() , m_eventWeight);
1489 fillHisto(m_trk_phi , track.phi() , m_eventWeight);
1490 fillHisto(m_trk_qOverP , track.qOverP(), m_eventWeight);
1491
1492 fillHisto(m_trk_d0_eta , track.eta(), track.d0() , m_eventWeight);
1493 fillHisto(m_trk_z0_eta , track.eta(), track.z0() , m_eventWeight);
1494 fillHisto(m_trk_theta_eta , track.eta(), track.theta() , m_eventWeight);
1495 fillHisto(m_trk_phi_eta , track.eta(), track.phi() , m_eventWeight);
1496 fillHisto(m_trk_qOverP_eta , track.eta(), track.qOverP(), m_eventWeight);
1497
1498}
1499
1501 static const SG::AuxElement::Accessor< float > acc_caloEntryPosEta( "CaloEntryPosEta" );
1502 static const SG::AuxElement::Accessor< float > acc_caloEntryUncEta( "CaloEntryUncEta" );
1503 static const SG::AuxElement::Accessor< float > acc_caloEntryUncTheta( "CaloEntryUncTheta" );
1504 if (acc_caloEntryPosEta.isAvailable(track)) {
1505 float caloEntryEta = acc_caloEntryPosEta(track);
1506 fillHisto(m_trk_caloEntryEta , caloEntryEta , m_eventWeight);
1507 fillHisto(m_trk_caloEntryEtaOverEta_eta, track.eta() , caloEntryEta/track.eta(), m_eventWeight);
1508 }
1509
1510 if (acc_caloEntryPosEta.isAvailable(track) and acc_caloEntryUncEta.isAvailable(track)) {
1511 float caloEntryEta = acc_caloEntryPosEta(track);
1512 float caloEntryUncEta = acc_caloEntryUncEta(track);
1513 fillHisto(m_trk_caloEntryUncEta_caloEntryEta, caloEntryEta , caloEntryUncEta, m_eventWeight);
1514 fillHisto(m_trk_caloEntryUncEta_eta , track.eta() , caloEntryUncEta, m_eventWeight);
1515 }
1516 if (acc_caloEntryUncTheta.isAvailable(track)) {
1517 float caloEntryUncTheta = acc_caloEntryUncTheta(track);
1518 fillHisto(m_trk_caloEntryUncTheta_eta , track.eta() , caloEntryUncTheta, m_eventWeight);
1519 }
1520
1521 static const SG::AuxElement::Accessor< float > acc_caloEntryPosPhi( "CaloEntryPosPhi" );
1522 static const SG::AuxElement::Accessor< float > acc_caloEntryUncPhi( "CaloEntryUncPhi" );
1523 if (acc_caloEntryPosPhi.isAvailable(track)) {
1524 float caloEntryPhi = acc_caloEntryPosPhi(track);
1526 fillHisto(m_trk_caloEntryPhiOverPhi_eta, track.eta() , caloEntryPhi/track.phi(), m_eventWeight);
1527 }
1528
1529 if (acc_caloEntryPosPhi.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track)) {
1530 float caloEntryPhi = acc_caloEntryPosPhi(track);
1531 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1532 fillHisto(m_trk_caloEntryUncPhi_caloEntryPhi, caloEntryPhi, caloEntryUncPhi, m_eventWeight);
1533 fillHisto(m_trk_caloEntryUncPhi_eta , track.eta() , caloEntryUncPhi, m_eventWeight);
1534 }
1535
1536 if (acc_caloEntryUncEta.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track)) {
1537 float caloEntryUncEta = acc_caloEntryUncEta(track);
1538 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1539 float totUnc = sqrt(caloEntryUncEta*caloEntryUncEta+caloEntryUncPhi*caloEntryUncPhi);
1540 fillHisto(m_trk_caloEntryUncTot_eta , track.eta() , totUnc, m_eventWeight);
1541 static const SG::AuxElement::Accessor< float > acc_prodRadius( "ProductionRadius" );
1542 if (acc_prodRadius.isAvailable(track)) {
1543 fillHisto(m_trk_caloEntryUncEta_prodRadius, acc_prodRadius(track), caloEntryUncEta, m_eventWeight);
1544 fillHisto(m_trk_caloEntryUncPhi_prodRadius, acc_prodRadius(track), caloEntryUncPhi, m_eventWeight);
1545 fillHisto(m_trk_caloEntryUncTot_prodRadius, acc_prodRadius(track), totUnc , m_eventWeight);
1546 if (acc_caloEntryUncTheta.isAvailable(track))
1547 fillHisto(m_trk_caloEntryUncTheta_prodRadius, acc_prodRadius(track), acc_caloEntryUncTheta(track), m_eventWeight);
1548 }
1549 }
1550}
1551
1553
1554 static const SG::AuxElement::Accessor< float > acc_perigeePosEta( "PerigeePosEta" );
1555 static const SG::AuxElement::Accessor< float > acc_perigeeUncEta( "PerigeeUncEta" );
1556 static const SG::AuxElement::Accessor< float > acc_perigeeUncTheta( "PerigeeUncTheta" );
1557 if (acc_perigeePosEta.isAvailable(track)) {
1558 float perigeeEta = acc_perigeePosEta(track);
1560 }
1561 if (acc_perigeeUncEta.isAvailable(track)) {
1562 float perigeeUncEta = acc_perigeeUncEta(track);
1563 fillHisto(m_trk_perigeeUncEta_eta , track.eta() , perigeeUncEta, m_eventWeight);
1564 }
1565 if (acc_perigeeUncTheta.isAvailable(track)) {
1566 float perigeeUncTheta = acc_perigeeUncTheta(track);
1567 fillHisto(m_trk_perigeeUncTheta_eta , track.eta() , perigeeUncTheta, m_eventWeight);
1568 }
1569
1570 static const SG::AuxElement::Accessor< float > acc_perigeePosPhi( "PerigeePosPhi" );
1571 static const SG::AuxElement::Accessor< float > acc_perigeeUncPhi( "PerigeeUncPhi" );
1572 if (acc_perigeePosPhi.isAvailable(track)) {
1573 float perigeePhi = acc_perigeePosPhi(track);
1575 }
1576
1577 if (acc_perigeeUncPhi.isAvailable(track)) {
1578 float perigeeUncPhi = acc_perigeeUncPhi(track);
1579 fillHisto(m_trk_perigeeUncPhi_eta , track.eta() , perigeeUncPhi, m_eventWeight);
1580 }
1581
1582 if (acc_perigeeUncEta.isAvailable(track) and acc_perigeeUncPhi.isAvailable(track)) {
1583 float perigeeUncEta = acc_perigeeUncEta(track);
1584 float perigeeUncPhi = acc_perigeeUncPhi(track);
1585 float totUnc = sqrt(perigeeUncEta*perigeeUncEta+perigeeUncPhi*perigeeUncPhi);
1586 fillHisto(m_trk_perigeeUncTot_eta , track.eta() , totUnc, m_eventWeight);
1587 static const SG::AuxElement::Accessor< float > acc_prodRadius( "ProductionRadius" );
1588 if (acc_prodRadius.isAvailable(track)) {
1589 fillHisto(m_trk_perigeeUncEta_prodRadius, acc_prodRadius(track), perigeeUncEta, m_eventWeight);
1590 fillHisto(m_trk_perigeeUncPhi_prodRadius, acc_prodRadius(track), perigeeUncPhi, m_eventWeight);
1591 fillHisto(m_trk_perigeeUncTot_prodRadius, acc_prodRadius(track), totUnc , m_eventWeight);
1592 fillHisto(m_trk_prodRadius , acc_prodRadius(track), m_eventWeight);
1593 if (acc_perigeeUncTheta.isAvailable(track))
1594 fillHisto(m_trk_perigeeUncTheta_prodRadius, acc_prodRadius(track), acc_perigeeUncTheta(track), m_eventWeight);
1595 }
1596 }
1597}
1598
1600 static const SG::AuxElement::Accessor< float > acc_perigeeUncEta( "PerigeeUncEta" );
1601 static const SG::AuxElement::Accessor< float > acc_perigeeUncTheta( "PerigeeUncTheta" );
1602 static const SG::AuxElement::Accessor< float > acc_perigeeUncPhi( "PerigeeUncPhi" );
1603 static const SG::AuxElement::Accessor< float > acc_caloEntryUncEta( "CaloEntryUncEta" );
1604 static const SG::AuxElement::Accessor< float > acc_caloEntryUncTheta( "CaloEntryUncTheta" );
1605 static const SG::AuxElement::Accessor< float > acc_caloEntryUncPhi( "CaloEntryUncPhi" );
1606
1607 if (acc_perigeeUncEta.isAvailable(track) and acc_perigeeUncPhi.isAvailable(track) and acc_perigeeUncTheta.isAvailable(track)
1608 and acc_caloEntryUncEta.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track) and acc_caloEntryUncTheta.isAvailable(track)) {
1609 float caloEntryUncEta = acc_caloEntryUncEta(track);
1610 float CaloEntryUncTheta = acc_caloEntryUncTheta(track);
1611 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1612 float caloTotUnc = sqrt(caloEntryUncEta*caloEntryUncEta+caloEntryUncPhi*caloEntryUncPhi);
1613 float perigeeUncEta = acc_perigeeUncEta(track);
1614 float perigeeUncTheta = acc_perigeeUncTheta(track);
1615 float perigeeUncPhi = acc_perigeeUncPhi(track);
1616 float perigeeTotUnc = sqrt(perigeeUncEta*perigeeUncEta+perigeeUncPhi*perigeeUncPhi);
1617 fillHisto(m_trk_perigeeUncEta_caloUncEta , caloEntryUncEta , perigeeUncEta , m_eventWeight);
1618 fillHisto(m_trk_perigeeUncTheta_caloUncTheta, CaloEntryUncTheta, perigeeUncTheta, m_eventWeight);
1619 fillHisto(m_trk_perigeeUncPhi_caloUncPhi , caloEntryUncPhi , perigeeUncPhi , m_eventWeight);
1620 fillHisto(m_trk_perigeeUncTot_caloUncTot , caloTotUnc , perigeeTotUnc , m_eventWeight);
1621 }
1622
1623 static const SG::AuxElement::Accessor< float > acc_perigeeEta( "PerigeePosEta" );
1624 static const SG::AuxElement::Accessor< float > acc_perigeePhi( "PerigeePosPhi" );
1625 static const SG::AuxElement::Accessor< float > acc_caloEntryEta( "CaloEntryPosEta" );
1626 static const SG::AuxElement::Accessor< float > acc_caloEntryPhi( "CaloEntryPosPhi" );
1627
1628 if (acc_perigeeEta.isAvailable(track) and acc_perigeePhi.isAvailable(track) and acc_caloEntryEta.isAvailable(track) and acc_caloEntryPhi.isAvailable(track)) {
1629 float delta_eta = acc_caloEntryEta(track) - acc_perigeeEta(track);
1630 float delta_phi = acc_caloEntryPhi(track) - acc_perigeePhi(track);
1631
1632 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1633 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1634
1637
1640
1641 delta_eta = acc_caloEntryEta(track) - track.eta();
1642 delta_phi = acc_caloEntryPhi(track) - track.phi();
1643
1644 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1645 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1646
1651 }
1652
1653 static const SG::AuxElement::Accessor< int > acc_caloEntryCorr( "Corrected" );
1654 static const SG::AuxElement::Accessor< float > acc_caloEntryEtaCorr( "CaloEntryPosEtaCorr" );
1655 static const SG::AuxElement::Accessor< float > acc_caloEntryPhiCorr( "CaloEntryPosPhiCorr" );
1656
1657 if (acc_caloEntryCorr.isAvailable(track) and acc_caloEntryCorr(track)>0) {
1658 float delta_eta = acc_caloEntryEtaCorr(track) - track.eta();
1659 float delta_phi = acc_caloEntryPhiCorr(track) - track.phi();
1660
1661 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1662 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1663
1668 }
1669
1670
1671 if (acc_caloEntryEta.isAvailable(track) and acc_caloEntryPhi.isAvailable(track) and acc_caloEntryCorr.isAvailable(track) and acc_caloEntryCorr(track)>0) {
1672 float delta_eta = acc_caloEntryEtaCorr(track) - acc_caloEntryEta(track);
1673 float delta_phi = acc_caloEntryPhiCorr(track) - acc_caloEntryPhi(track);
1674
1675 if (delta_phi > +M_PI) delta_phi -= 2. * M_PI;
1676 if (delta_phi < -M_PI) delta_phi += 2. * M_PI;
1677
1682 }
1683
1684}
1685
1687 // I should fill stats for the tracks
1688 static const SG::AuxElement::Accessor< int > acc_assTool( "ParticleCaloClusterAssociationTool" );
1689 if (not acc_assTool.isAvailable(track)) return;
1690 if (acc_assTool(track)==0) return;
1691
1692 // tracks w/ extrapolation
1693
1694 fillHisto(m_trk_total_eta, track.eta() , m_eventWeight);
1696
1697 static const SG::AuxElement::Accessor< float > acc_caloEntryUncEta( "CaloEntryUncEta" );
1698 static const SG::AuxElement::Accessor< float > acc_caloEntryUncPhi( "CaloEntryUncPhi" );
1699 static const SG::AuxElement::Accessor< float > acc_prodRadius( "ProductionRadius" );
1700
1701 if (acc_caloEntryUncEta.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track) and acc_prodRadius.isAvailable(track)) {
1702 float caloEntryUncEta = acc_caloEntryUncEta(track);
1703 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1704 float totUnc = sqrt(caloEntryUncEta*caloEntryUncEta+caloEntryUncPhi*caloEntryUncPhi);
1705
1706 // static const SG::AuxElement::Accessor< std::vector<int> > acc_matched( "IsMatched" );
1707 // static const SG::AuxElement::Accessor< std::vector<int> > acc_mode( "MatchingMode" );
1708
1709 static const SG::AuxElement::Accessor< int > acc_allClusters( "AllClusters" );
1710 static const SG::AuxElement::Accessor< int > acc_clusters_dr_fix ( "Match_deltaR_fixed" );
1711 static const SG::AuxElement::Accessor< int > acc_clusters_dr_var ( "Match_deltaR_variable" );
1712
1713 fillHisto(m_trk_total_clusters_eta, track.eta() , acc_allClusters(track), m_eventWeight);
1714 fillHisto(m_trk_total_clusters_pt , track.pt()/GeV, acc_allClusters(track), m_eventWeight);
1715
1716 if (acc_clusters_dr_fix(track)==0) {
1723 } else {
1726 }
1727
1728 if (acc_clusters_dr_var(track)==0) {
1735 } else {
1738 }
1739
1740 if (acc_clusters_dr_fix(track)==0 and acc_clusters_dr_var(track)==0) {
1747 }
1748
1749 if (acc_clusters_dr_fix(track)>0 and acc_clusters_dr_var(track)>0) {
1752 }
1753
1754 if (acc_clusters_dr_fix(track)>0 or acc_clusters_dr_var(track)>0) {
1757 }
1758
1759 if (acc_clusters_dr_fix(track)>0 and acc_clusters_dr_var(track)==0) {
1762 }
1763
1764 if (acc_clusters_dr_fix(track)==0 and acc_clusters_dr_var(track)>0) {
1767 }
1768
1769 static const SG::AuxElement::Accessor< int > acc_clusters_dr_or ( "Match_deltaR" );
1770 static const SG::AuxElement::Accessor< int > acc_clusters_dr_and ( "Match_deltaR_both" );
1771 static const SG::AuxElement::Accessor< int > acc_clusters_dr_fix_only ( "Match_deltaR_fixedOnly" );
1772 static const SG::AuxElement::Accessor< int > acc_clusters_dr_var_only ( "Match_deltaR_variableOnly");
1773
1774 // matching dr fixed or dr variable
1775 fillHisto(m_trk_matching_deltar_or_clusters_eta , track.eta() , acc_clusters_dr_or(track), m_eventWeight);
1776 fillHisto(m_trk_matching_deltar_or_clusters_phi , track.phi() , acc_clusters_dr_or(track), m_eventWeight);
1777 fillHisto(m_trk_matching_deltar_or_clusters_pt , track.pt()/GeV, acc_clusters_dr_or(track), m_eventWeight);
1778
1779 // matching dr fixed and dr variable
1780 fillHisto(m_trk_matching_deltar_and_clusters_eta , track.eta() , acc_clusters_dr_and(track), m_eventWeight);
1781 fillHisto(m_trk_matching_deltar_and_clusters_phi , track.phi() , acc_clusters_dr_and(track), m_eventWeight);
1782 fillHisto(m_trk_matching_deltar_and_clusters_pt , track.pt()/GeV, acc_clusters_dr_and(track), m_eventWeight);
1783
1784 //matching only dr fix
1785 fillHisto(m_trk_matching_deltar_fix_only_clusters_eta , track.eta() , acc_clusters_dr_fix_only(track), m_eventWeight);
1786 fillHisto(m_trk_matching_deltar_fix_only_clusters_phi , track.phi() , acc_clusters_dr_fix_only(track), m_eventWeight);
1787 fillHisto(m_trk_matching_deltar_fix_only_clusters_pt , track.pt()/GeV, acc_clusters_dr_fix_only(track), m_eventWeight);
1788
1789 //matching only dr variable
1790 fillHisto(m_trk_matching_deltar_var_only_clusters_eta , track.eta() , acc_clusters_dr_var_only(track), m_eventWeight);
1791 fillHisto(m_trk_matching_deltar_var_only_clusters_phi , track.phi() , acc_clusters_dr_var_only(track), m_eventWeight);
1792 fillHisto(m_trk_matching_deltar_var_only_clusters_pt , track.pt()/GeV, acc_clusters_dr_var_only(track), m_eventWeight);
1793 }
1794
1795 static const SG::AuxElement::Accessor< int > acc_trk_PV0 ( "IsPV0Compatible" );
1796 if (acc_trk_PV0.isAvailable(track) and acc_trk_PV0(track)==1) {
1797
1800
1801 if (acc_caloEntryUncEta.isAvailable(track) and acc_caloEntryUncPhi.isAvailable(track) and acc_prodRadius.isAvailable(track)) {
1802 float caloEntryUncEta = acc_caloEntryUncEta(track);
1803 float caloEntryUncPhi = acc_caloEntryUncPhi(track);
1804 float totUnc = sqrt(caloEntryUncEta*caloEntryUncEta+caloEntryUncPhi*caloEntryUncPhi);
1805
1808
1809 uint8_t nPixHits (0);
1810 uint8_t nSCTHits (0);
1811
1812 if (track.summaryValue(nPixHits, xAOD::numberOfPixelHits) and track.summaryValue(nSCTHits, xAOD::numberOfSCTHits)) {
1813 int siHits = nPixHits + nSCTHits;
1814 if (siHits == 0) {
1817 fillHisto(m_trk_pv0_caloEntryUncTot_rFirstHit_0SiHits, track.radiusOfFirstHit(), totUnc, m_eventWeight);
1818 }
1820 }
1821
1822 fillHisto(m_trk_pv0_caloEntryUncTot_rFirstHit, track.radiusOfFirstHit(), totUnc, m_eventWeight);
1823
1824 static const SG::AuxElement::Accessor< int > acc_allClusters ( "AllClusters" );
1825 static const SG::AuxElement::Accessor< int > acc_clusters_dr_fix ( "Match_deltaR_fixed" );
1826 static const SG::AuxElement::Accessor< int > acc_clusters_dr_var ( "Match_deltaR_variable" );
1827
1828 fillHisto(m_trk_pv0_total_clusters_eta, track.eta() , acc_allClusters(track), m_eventWeight);
1829 fillHisto(m_trk_pv0_total_clusters_pt , track.pt()/GeV, acc_allClusters(track), m_eventWeight);
1830
1831 if (acc_clusters_dr_fix(track)>0) {
1834 } else {
1837 }
1838
1839 if (acc_clusters_dr_var(track)>0) {
1842 } else {
1845 }
1846
1847 if (acc_clusters_dr_fix(track)==0 and acc_clusters_dr_var(track)==0) {
1850 }
1851
1852 if (acc_clusters_dr_fix(track)>0 and acc_clusters_dr_var(track)>0) {
1855 }
1856
1857 if (acc_clusters_dr_fix(track)>0 or acc_clusters_dr_var(track)>0) {
1860 }
1861
1862 if (acc_clusters_dr_fix(track)>0 and acc_clusters_dr_var(track)==0) {
1865 }
1866
1867 if (acc_clusters_dr_fix(track)==0 and acc_clusters_dr_var(track)>0) {
1870 }
1871 }
1872 }
1873}
1874
1876 // here I fill the clusters
1877 static const SG::AuxElement::Accessor< int > acc_assTool( "ParticleCaloClusterAssociationTool" );
1878 if (not acc_assTool.isAvailable(cluster)) return;
1879 if (acc_assTool(cluster)==0) return;
1880
1881 static const SG::AuxElement::Accessor< float > acc_eta( "ClusterEta" );
1882 static const SG::AuxElement::Accessor< float > acc_unc( "ClusterUnc" );
1883
1884 static const SG::AuxElement::Accessor< float > acc_weight( "ClusterWeight" );
1885 static const SG::AuxElement::Accessor< float > acc_calE( "calE" );
1886
1887 fillHisto(m_clusters_etacut_eta , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1889 fillHisto(m_clusters_etacut_width , acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1891 fillHisto(m_clusters_etacut_width_eta , acc_eta(cluster), acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1892 fillHisto(m_clusters_etacut_abs_width_eta , acc_eta(cluster), acc_unc(cluster), m_eventWeight);
1893 if (acc_calE.isAvailable(cluster)) {
1894 fillHisto(m_clusters_etacut_energy , cluster.e()/GeV, acc_weight(cluster)*m_eventWeight);
1896 fillHisto(m_clusters_etacut_width_energy , cluster.e()/GeV, acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1897 fillHisto(m_clusters_etacut_abs_width_energy , cluster.e()/GeV, acc_unc(cluster), m_eventWeight);
1898 }
1899}
1900
1902 // here I fill the clusters
1903 static const SG::AuxElement::Accessor< int > acc_assTool( "ParticleCaloClusterAssociationTool" );
1904 if (not acc_assTool.isAvailable(cluster)) return;
1905 if (acc_assTool(cluster)==0) return;
1906
1907 static const SG::AuxElement::Accessor< float > acc_eta( "ClusterEta" );
1908 static const SG::AuxElement::Accessor< float > acc_unc( "ClusterUnc" );
1909
1910 static const SG::AuxElement::Accessor< float > acc_weight( "ClusterWeight" );
1911 static const SG::AuxElement::Accessor< float > acc_calE( "calE" );
1912
1913 fillHisto(m_clusters_eta , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1914 fillHisto(m_clusters_abs_eta , acc_eta(cluster), m_eventWeight);
1915 fillHisto(m_clusters_width , acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1916 fillHisto(m_clusters_abs_width , acc_unc(cluster), m_eventWeight);
1917 fillHisto(m_clusters_width_eta , acc_eta(cluster), acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1918 fillHisto(m_clusters_abs_width_eta , acc_eta(cluster), acc_unc(cluster), m_eventWeight);
1919 if (acc_calE.isAvailable(cluster)) {
1920 fillHisto(m_clusters_energy , cluster.e()/GeV, acc_weight(cluster)*m_eventWeight);
1922 fillHisto(m_clusters_width_energy , cluster.e()/GeV, acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1923 fillHisto(m_clusters_abs_width_energy , cluster.e()/GeV, acc_unc(cluster), m_eventWeight);
1924 }
1925
1926 if (fabs(cluster.eta())<2.5) {
1927 fillHisto(m_clusters_etacut_eta , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1929 fillHisto(m_clusters_etacut_width , acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1931 fillHisto(m_clusters_etacut_width_eta , acc_eta(cluster), acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1932 fillHisto(m_clusters_etacut_abs_width_eta , acc_eta(cluster), acc_unc(cluster), m_eventWeight);
1933 if (acc_calE.isAvailable(cluster)) {
1934 fillHisto(m_clusters_etacut_energy , cluster.e()/GeV, acc_weight(cluster)*m_eventWeight);
1936 fillHisto(m_clusters_etacut_width_energy , cluster.e()/GeV, acc_unc(cluster), acc_weight(cluster)*m_eventWeight);
1937 fillHisto(m_clusters_etacut_abs_width_energy , cluster.e()/GeV, acc_unc(cluster), m_eventWeight);
1938 }
1939 }
1940
1941 static const SG::AuxElement::Accessor< int > acc_matched( "ClusterMatched" );
1942 if (acc_matched(cluster)==1) {
1943 fillHisto(m_clusters_matched_eta , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1945 if (acc_calE.isAvailable(cluster)) {
1946 fillHisto(m_clusters_matched_energy , cluster.e()/GeV, acc_weight(cluster)*m_eventWeight);
1948 }
1949 } else {
1950 fillHisto(m_clusters_notMatched_eta , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1952 if (acc_calE.isAvailable(cluster)) {
1953 fillHisto(m_clusters_notMatched_energy , cluster.e()/GeV, acc_weight(cluster)*m_eventWeight);
1955 }
1956 }
1957
1958 static const SG::AuxElement::Accessor< int > acc_dr_fix_match( "ClusterMatchedFixedDeltaR" );
1959 static const SG::AuxElement::Accessor< int > acc_dr_var_match ( "ClusterMatchedVariableDeltaR" );
1960
1961
1962 if (acc_dr_fix_match(cluster)==1 and acc_dr_var_match(cluster)==1) {
1963 fillHisto(m_clusters_matched_eta_fix_and_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1965 }
1966
1967 if (acc_dr_fix_match(cluster)==1 or acc_dr_var_match(cluster)==1) {
1968 fillHisto(m_clusters_matched_eta_fix_or_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1970 }
1971
1972 if (acc_dr_fix_match(cluster)==1) {
1973 fillHisto(m_clusters_matched_eta_fix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1975 } else {
1976 fillHisto(m_clusters_matched_eta_notfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1978 }
1979
1980 if (acc_dr_var_match(cluster)==1) {
1981 fillHisto(m_clusters_matched_eta_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1983 } else {
1984 fillHisto(m_clusters_matched_eta_notvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1986 }
1987
1988 if (acc_dr_fix_match(cluster)==0 and acc_dr_var_match(cluster)==1) {
1989 fillHisto(m_clusters_matched_eta_onlyvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1991 }
1992
1993 if (acc_dr_fix_match(cluster)==1 and acc_dr_var_match(cluster)==0) {
1994 fillHisto(m_clusters_matched_eta_onlyfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
1996 }
1997
1998 if (acc_dr_fix_match(cluster)==0 and acc_dr_var_match(cluster)==0) {
1999 fillHisto(m_clusters_matched_eta_none , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2001 }
2002
2003 // match with tracks from PV0
2004 static const SG::AuxElement::Accessor< int > acc_dr_fix_PV0( "FixedMatchPV0" );
2005 static const SG::AuxElement::Accessor< int > acc_dr_var_PV0( "VarMatchPV0" );
2006
2007 if (acc_dr_fix_PV0.isAvailable(cluster) and acc_dr_var_PV0.isAvailable(cluster)) {
2008 bool matchFix = (acc_dr_fix_match(cluster)==1 and acc_dr_fix_PV0(cluster)==1);
2009 bool matchVar = (acc_dr_var_match(cluster)==1 and acc_dr_var_PV0(cluster)==1);
2010
2011 if (matchFix and matchVar) {
2012 fillHisto(m_clusters_matched_pv0_eta_fix_and_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2014 }
2015
2016 if (matchFix or matchVar) {
2017 fillHisto(m_clusters_matched_pv0_eta_fix_or_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2019 }
2020
2021 if (matchFix) {
2022 fillHisto(m_clusters_matched_pv0_eta_fix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2024 } else {
2025 fillHisto(m_clusters_matched_pv0_eta_notfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2027 }
2028
2029 if (matchVar) {
2030 fillHisto(m_clusters_matched_pv0_eta_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2032 } else {
2033 fillHisto(m_clusters_matched_pv0_eta_notvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2035 }
2036
2037 if (not matchFix and matchVar) {
2038 fillHisto(m_clusters_matched_pv0_eta_onlyvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2040 }
2041
2042 if (matchFix and not matchVar) {
2043 fillHisto(m_clusters_matched_pv0_eta_onlyfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2045 }
2046
2047 if (not matchFix and not matchVar) {
2048 fillHisto(m_clusters_matched_pv0_eta_none , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2050 }
2051 }
2052
2053 // match with tracks from PVX
2054 static const SG::AuxElement::Accessor< int > acc_dr_fix_PVX( "FixedMatchPVX" );
2055 static const SG::AuxElement::Accessor< int > acc_dr_var_PVX( "VarMatchPVX" );
2056
2057 if (acc_dr_fix_PVX.isAvailable(cluster) and acc_dr_var_PVX.isAvailable(cluster)
2058 and acc_dr_fix_PV0.isAvailable(cluster) and acc_dr_var_PV0.isAvailable(cluster)) {
2059 bool matchFix = (acc_dr_fix_match(cluster)==1 and acc_dr_fix_PVX(cluster)==1 and acc_dr_fix_PV0(cluster)==0);
2060 bool matchVar = (acc_dr_var_match(cluster)==1 and acc_dr_var_PVX(cluster)==1 and acc_dr_var_PV0(cluster)==0);
2061
2062 if (matchFix and matchVar) {
2063 fillHisto(m_clusters_matched_pvx_eta_fix_and_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2065 }
2066
2067 if (matchFix or matchVar) {
2068 fillHisto(m_clusters_matched_pvx_eta_fix_or_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2070 }
2071
2072 if (matchFix) {
2073 fillHisto(m_clusters_matched_pvx_eta_fix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2075 } else {
2076 fillHisto(m_clusters_matched_pvx_eta_notfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2078 }
2079
2080 if (matchVar) {
2081 fillHisto(m_clusters_matched_pvx_eta_var , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2083 } else {
2084 fillHisto(m_clusters_matched_pvx_eta_notvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2086 }
2087
2088 if (not matchFix and matchVar) {
2089 fillHisto(m_clusters_matched_pvx_eta_onlyvar , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2091 }
2092
2093 if (matchFix and not matchVar) {
2094 fillHisto(m_clusters_matched_pvx_eta_onlyfix , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2096 }
2097
2098 if (not matchFix and not matchVar) {
2099 fillHisto(m_clusters_matched_pvx_eta_none , acc_eta(cluster), acc_weight(cluster)*m_eventWeight);
2101 }
2102 }
2103
2104 static const SG::AuxElement::Accessor< int > acc_neutral( "isNeutral" );
2105 static const SG::AuxElement::Accessor< float > acc_pt_fraction( "ptFraction" );
2106 static const SG::AuxElement::Accessor< int > acc_rejected( "isRejected" );
2107 static const SG::AuxElement::Accessor< int > acc_isPV0( "isPV0" );
2108 static const SG::AuxElement::Accessor< int > acc_isPVX( "isPVX" );
2109
2110 if (acc_calE.isAvailable(cluster) and acc_neutral.isAvailable(cluster) and acc_neutral(cluster)==1) {
2111 fillHisto(m_clusters_pt_fraction_e, cluster.e()/GeV, acc_pt_fraction(cluster), m_eventWeight);
2112 if (acc_isPV0(cluster)==1)
2113 fillHisto(m_clusters_PV0_pt_fraction_e, cluster.e()/GeV, acc_pt_fraction(cluster), m_eventWeight);
2114 else
2115 fillHisto(m_clusters_PVX_pt_fraction_e, cluster.e()/GeV, acc_pt_fraction(cluster), m_eventWeight);
2116 if (acc_rejected(cluster)==1)
2117 fillHisto(m_clusters_rejected_pt_fraction_e, cluster.e()/GeV, acc_pt_fraction(cluster), m_eventWeight);
2118
2120 if (acc_isPV0(cluster)==1)
2122 else if (acc_isPVX(cluster)==1)
2124 else
2126
2128 if (acc_isPV0(cluster)==1)
2130 else if (acc_isPVX(cluster)==1)
2132 else
2134
2135 }
2136}
2137
2142
2147
2148void TCCPlots::fillTCC(const xAOD::TrackCaloCluster& tcc, std::vector<const xAOD::TrackParticle*>& alltracksPV0) {
2152 fillHisto(m_tcc_m , tcc.m()/GeV , m_eventWeight);
2156
2157 const xAOD::TrackParticle* track = getTrackParticlePtr(tcc);
2158 if (track) {
2159 fillHisto(m_tcc_pt_pseudoresponse, tcc.pt()/track->pt() , m_eventWeight);
2160 fillHisto(m_tcc_pt_track_pt, tcc.pt()/GeV, track->pt()/GeV , m_eventWeight);
2161
2162 const xAOD::TruthParticle* assTruth = getTruthPtr(*track);
2163 if (assTruth) {
2164 fillHisto(m_tcc_pt_response, tcc.pt()/assTruth->pt() , m_eventWeight);
2165 fillHisto(m_tcc_pt_truth_pt, tcc.pt()/GeV, assTruth->pt()/GeV , m_eventWeight);
2166
2167 fillHisto(m_trk_tcc_reco_pt_truth_pt, track->pt()/GeV, assTruth->pt()/GeV, m_eventWeight);
2168 fillHisto(m_trk_tcc_reco_pt_response, track->pt()/assTruth->pt() , m_eventWeight);
2169 }
2170
2171
2172 //- There is one track matching a given number of clusters , N : size of the caloClusterLinks()
2173 //- Each of those clusters matches a given number of tracks, M : size of MatchingTracks
2174 //std::cout << "Size of the cluster vector: "<< tcc.caloClusterLinks().size() << std::endl;
2175
2176 static const SG::AuxElement::Accessor< float > acc_unc( "ClusterUnc" );
2177
2178 if (!tcc.caloClusterLinks().empty()) {
2179 int N = tcc.caloClusterLinks().size();
2180// std::cout << "N = " << N << std::endl;
2181 for (size_t c = 0; c < tcc.caloClusterLinks().size(); ++c) {
2182 const xAOD::CaloCluster* cluster = *(tcc.caloClusterLinks().at(c));
2183// std::cout << "cluster " << c << " --> " << cluster->eta() << ", " << cluster->phi() << " ---- " << acc_unc(*cluster) << std::endl;
2184 static const SG::AuxElement::Accessor< std::vector<ElementLink<xAOD::TrackParticleContainer>> > acc_links( "MatchingTracks" );
2185 if (acc_links.isAvailable(*cluster)) {
2186 int M = acc_links(*cluster).size();
2187 //std::cout << "Size of the track vector: "<< acc_links(*cluster).size() << std::endl;
2189 int MPV0 = 0;
2190 for (size_t t = 0; t < acc_links(*cluster).size(); ++t) {
2191 const xAOD::TrackParticle* track = *(acc_links(*cluster).at(t));
2192 if (std::find(alltracksPV0.begin(), alltracksPV0.end(), track) != alltracksPV0.end()) {
2193 MPV0++;
2194// std::cout << "PV0 track " << t << " --> " << track->pt() << ", " << track->eta() << ", " << track->phi() << ", " << track->m() << std::endl;
2195 }
2196// else std::cout << "PVX track " << t << " --> " << track->pt() << ", " << track->eta() << ", " << track->phi() << ", " << track->m() << std::endl;
2197 }
2199// std::cout << "M PV0 = " << MPV0 << " ---- M = " << M << std::endl;
2200 }
2201 } // for caloClusterLinks
2202 } // if caloClusterLinks().size
2203 }
2204}
2205
2207 if (!m_collectionType.empty())
2208 std::cout << "Finalising " << m_collectionType << " in folder " << m_folder << std::endl;
2209
2210 if (m_collectionType == "jets") {
2211
2212 std::vector < TH2* > th2f = { m_jet_response_m_pt, m_jet_response_m_pt_2leadings,
2220 };
2221
2222 std::vector < TH3* > th3f = { m_jet_mopt_pt_response_m, m_jet_mopt_pt_response_m_2leadings,
2232
2233 for ( auto& histo : th2f ) {
2234 for (int j = 1; j <= histo->GetNbinsY(); j++)
2235 for (int i = 1; i <= histo->GetNbinsX(); i++)
2236 histo->SetBinContent(i,j,histo->GetBinContent(i,j)/(histo->GetXaxis()->GetBinWidth(i)*histo->GetYaxis()->GetBinWidth(j)));
2237 }
2238
2239 for ( auto& histo : th3f ) {
2240 for (int k = 1; k <= histo->GetNbinsZ(); k++)
2241 for (int j = 1; j <= histo->GetNbinsY(); j++)
2242 for (int i = 1; i <= histo->GetNbinsX(); i++)
2243 histo->SetBinContent(i,j,k,histo->GetBinContent(i,j,k)/(histo->GetXaxis()->GetBinWidth(i)*histo->GetYaxis()->GetBinWidth(j)*histo->GetZaxis()->GetBinWidth(k)));
2244 }
2245
2250
2255
2260
2263
2266
2271
2276
2281
2286
2291
2292
2293 } else if (m_collectionType == "tracks") {
2294 //pt + prod radius th2
2295 std::vector < TH2* > th2f = { m_trk_d0_pt, m_trk_z0_pt, m_trk_theta_pt, m_trk_phi_pt, m_trk_qOverP_pt,
2312
2313 //pt + prod radius th1
2314 std::vector < TH1* > th1f = { m_trk_total_pt, m_trk_notMatching_deltar_fix_pt,
2324 };
2325
2326
2327 for ( auto& histo : th2f ) {
2328 for (int j = 1; j <= histo->GetNbinsY(); j++)
2329 for (int i = 1; i <= histo->GetNbinsX(); i++)
2330 histo->SetBinContent(i,j,histo->GetBinContent(i,j)/(histo->GetXaxis()->GetBinWidth(i)*histo->GetYaxis()->GetBinWidth(j)));
2331 }
2332
2333 for ( auto& histo : th1f ) {
2334 for (int i = 1; i <= histo->GetNbinsX(); i++)
2335 histo->SetBinContent(i,histo->GetBinContent(i)/histo->GetBinWidth(i));
2336 }
2337
2347
2357
2367
2377
2378 } else if (m_collectionType == "clusters") {
2379
2393
2407
2417
2427
2437
2447
2448 } else if (m_collectionType == "tccs") {
2449 std::vector < TH2* > th2f = { m_tcc_taste_pt, m_tcc_taste_pt_etacut,
2451
2452 //pt + prod radius th1
2453 std::vector < TH1* > th1f = { m_tcc_pt, m_tcc_pt_etacut };
2454
2455 for ( auto& histo : th2f ) {
2456 for (int j = 1; j <= histo->GetNbinsY(); j++)
2457 for (int i = 1; i <= histo->GetNbinsX(); i++)
2458 histo->SetBinContent(i,j,histo->GetBinContent(i,j)/(histo->GetXaxis()->GetBinWidth(i)*histo->GetYaxis()->GetBinWidth(j)));
2459 }
2460
2461 for ( auto& histo : th1f ) {
2462 for (int i = 1; i <= histo->GetNbinsX(); i++)
2463 histo->SetBinContent(i,histo->GetBinContent(i)/histo->GetBinWidth(i));
2464 }
2465 } else return;
2466
2467}
2468
2469void TCCPlots::make_median(TH2* h2_response, TH1* h1_resolution, TH1* h1_median){
2470 for (int i=1; i<=h2_response->GetNbinsX(); i++){
2471 TH1F* hold = new TH1F("","", h2_response->GetNbinsY(),
2472 h2_response->GetYaxis()->GetBinCenter(1)-0.5*h2_response->GetYaxis()->GetBinWidth(1),
2473 h2_response->GetYaxis()->GetBinCenter(h2_response->GetNbinsY())+0.5*h2_response->GetYaxis()->GetBinWidth(h2_response->GetNbinsY()));
2474 for (int j=1; j<=h2_response->GetNbinsY(); j++){
2475 hold->SetBinContent(j,h2_response->GetBinContent(i,j));
2476 }
2477 if (hold->Integral()==0.) continue;
2478 Double_t prob,quant16,quant84,median;
2479 prob=.5;
2480 hold->GetQuantiles(1,&median,&prob);
2481 prob=.84;
2482 hold->GetQuantiles(1,&quant84,&prob);
2483 prob=.16;
2484 hold->GetQuantiles(1,&quant16,&prob);
2485 h1_resolution->SetBinContent(i,0.5*fabs(quant84-quant16)/median);
2486 if (h1_median) {
2487 h1_median->SetBinContent(i,median);
2488 h1_median->SetBinError(i,h1_resolution->GetBinContent(i));
2489 }
2490 }
2491}
2492
2493void TCCPlots::make_median_add(TH2* h2_response, TH1* h1_resolution){
2494 for (int i=1; i<=h2_response->GetNbinsX(); i++){
2495 TH1F* hold = new TH1F("","", h2_response->GetNbinsY(),
2496 h2_response->GetYaxis()->GetBinCenter(1)-0.5*h2_response->GetYaxis()->GetBinWidth(1),
2497 h2_response->GetYaxis()->GetBinCenter(h2_response->GetNbinsY())+0.5*h2_response->GetYaxis()->GetBinWidth(h2_response->GetNbinsY()));
2498 for (int j=1; j<=h2_response->GetNbinsY(); j++){
2499 hold->SetBinContent(j,h2_response->GetBinContent(i,j));
2500 }
2501 if (hold->Integral()==0.) continue;
2502 Double_t prob,quant16,quant84,median;
2503 prob=.5;
2504 hold->GetQuantiles(1,&median,&prob);
2505// prob=.84;
2506 prob=0.75;
2507 hold->GetQuantiles(1,&quant84,&prob);
2508// prob=.16;
2509 prob=0.25;
2510 hold->GetQuantiles(1,&quant16,&prob);
2511 h1_resolution->SetBinContent(i,0.5*fabs(quant84-quant16));
2512 }
2513}
2514
2515void TCCPlots::make_median(TH3* h3_response, TH2* h2_resolution){
2516 for (int i=1; i<=h3_response->GetNbinsX(); i++) {
2517 for (int j=1; j<=h3_response->GetNbinsY(); j++) {
2518 TH1F* hold = new TH1F("","",
2519 h3_response->GetNbinsZ(),
2520 h3_response->GetZaxis()->GetBinCenter(1)-0.5*h3_response->GetZaxis()->GetBinWidth(1),
2521 h3_response->GetZaxis()->GetBinCenter(h3_response->GetNbinsZ())+0.5*h3_response->GetZaxis()->GetBinWidth(h3_response->GetNbinsZ()));
2522 for (int k=1; k<=h3_response->GetNbinsZ(); k++){
2523 hold->SetBinContent(k,h3_response->GetBinContent(i,j,k));
2524 }
2525 if (hold->Integral()==0.) continue;
2526 Double_t prob,quant16,quant84,median;
2527 prob=.5;
2528 hold->GetQuantiles(1,&median,&prob);
2529 prob=.84;
2530 hold->GetQuantiles(1,&quant84,&prob);
2531 prob=.16;
2532 hold->GetQuantiles(1,&quant16,&prob);
2533 h2_resolution->SetBinContent(i,j,0.5*fabs(quant84-quant16)/median);
2534 }
2535 }
2536}
2537
2539
2540 if (m_collectionType == "tracks") {
2541
2542 if (!m_trackPtBins.empty()) {
2543
2544 const float* ptBins = m_trackPtBins.data();
2545 int nBins = m_trackPtBins.size()-1;
2546
2547 m_trk_d0_pt ->GetXaxis()->Set(nBins, ptBins);
2548 m_trk_z0_pt ->GetXaxis()->Set(nBins, ptBins);
2549 m_trk_theta_pt ->GetXaxis()->Set(nBins, ptBins);
2550 m_trk_phi_pt ->GetXaxis()->Set(nBins, ptBins);
2551 m_trk_qOverP_pt ->GetXaxis()->Set(nBins, ptBins);
2552 m_trk_caloEntryEtaOverEta_pt ->GetXaxis()->Set(nBins, ptBins);
2553 m_trk_caloEntryUncEta_pt ->GetXaxis()->Set(nBins, ptBins);
2554 m_trk_caloEntryUncTheta_pt ->GetXaxis()->Set(nBins, ptBins);
2555 m_trk_caloEntryPhiOverPhi_pt ->GetXaxis()->Set(nBins, ptBins);
2556 m_trk_caloEntryUncPhi_pt ->GetXaxis()->Set(nBins, ptBins);
2557 m_trk_caloEntryUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2558 m_trk_pv0_caloEntryUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2559 m_trk_pv0_caloEntryUncTot_truthpt ->GetXaxis()->Set(nBins, ptBins);
2560 m_trk_pv0_caloEntryUncTot_pt_0SiHits ->GetXaxis()->Set(nBins, ptBins);
2561 m_trk_perigeeUncEta_pt ->GetXaxis()->Set(nBins, ptBins);
2562 m_trk_perigeeUncTheta_pt ->GetXaxis()->Set(nBins, ptBins);
2563 m_trk_perigeeUncPhi_pt ->GetXaxis()->Set(nBins, ptBins);
2564 m_trk_perigeeUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2565 m_trk_delta_perigeeEta_caloEntryEta_pt ->GetXaxis()->Set(nBins, ptBins);
2566 m_trk_delta_perigeePhi_caloEntryPhi_pt ->GetXaxis()->Set(nBins, ptBins);
2567 m_trk_delta_trackEta_caloEntryEta_pt ->GetXaxis()->Set(nBins, ptBins);
2568 m_trk_delta_trackPhi_caloEntryPhi_pt ->GetXaxis()->Set(nBins, ptBins);
2569 m_trk_delta_trackEta_caloEntryEtaCorr_pt ->GetXaxis()->Set(nBins, ptBins);
2570 m_trk_delta_trackPhi_caloEntryPhiCorr_pt ->GetXaxis()->Set(nBins, ptBins);
2571 m_trk_delta_caloEntryEta_caloEntryEtaCorr_pt ->GetXaxis()->Set(nBins, ptBins);
2572 m_trk_delta_caloEntryPhi_caloEntryPhiCorr_pt ->GetXaxis()->Set(nBins, ptBins);
2573
2574 m_trk_total_pt ->GetXaxis()->Set(nBins, ptBins);
2575 m_trk_total_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2576 m_trk_notMatching_deltar_fix_pt ->GetXaxis()->Set(nBins, ptBins);
2577 m_trk_notMatching_deltar_fix_caloEntryUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2578 m_trk_notMatching_deltar_var_pt ->GetXaxis()->Set(nBins, ptBins);
2579 m_trk_notMatching_deltar_var_caloEntryUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2580 m_trk_notMatching_deltar_none_pt ->GetXaxis()->Set(nBins, ptBins);
2581 m_trk_notMatching_deltar_none_caloEntryUncTot_pt ->GetXaxis()->Set(nBins, ptBins);
2582
2583 m_trk_matching_deltar_or_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2584 m_trk_matching_deltar_and_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2585 m_trk_matching_deltar_fix_only_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2586 m_trk_matching_deltar_var_only_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2587
2588 m_trk_matching_deltar_fix_and_var_pt ->GetXaxis()->Set(nBins, ptBins);
2589 m_trk_matching_deltar_fix_or_var_pt ->GetXaxis()->Set(nBins, ptBins);
2590 m_trk_matching_deltar_fix_pt ->GetXaxis()->Set(nBins, ptBins);
2591 m_trk_matching_deltar_var_pt ->GetXaxis()->Set(nBins, ptBins);
2592 m_trk_matching_deltar_onlyfix_pt ->GetXaxis()->Set(nBins, ptBins);
2593 m_trk_matching_deltar_onlyvar_pt ->GetXaxis()->Set(nBins, ptBins);
2594
2595 m_trk_matchedFraction_pt_fix_and_var ->GetXaxis()->Set(nBins, ptBins);
2596 m_trk_matchedFraction_pt_fix_or_var ->GetXaxis()->Set(nBins, ptBins);
2597 m_trk_matchedFraction_pt_fix ->GetXaxis()->Set(nBins, ptBins);
2598 m_trk_matchedFraction_pt_notfix ->GetXaxis()->Set(nBins, ptBins);
2599 m_trk_matchedFraction_pt_var ->GetXaxis()->Set(nBins, ptBins);
2600 m_trk_matchedFraction_pt_notvar ->GetXaxis()->Set(nBins, ptBins);
2601 m_trk_matchedFraction_pt_onlyvar ->GetXaxis()->Set(nBins, ptBins);
2602 m_trk_matchedFraction_pt_onlyfix ->GetXaxis()->Set(nBins, ptBins);
2603 m_trk_matchedFraction_pt_none ->GetXaxis()->Set(nBins, ptBins);
2604
2605 m_trk_pv0_total_pt ->GetXaxis()->Set(nBins, ptBins);
2606 m_trk_pv0_total_clusters_pt ->GetXaxis()->Set(nBins, ptBins);
2607 m_trk_pv0_notMatching_deltar_fix_pt ->GetXaxis()->Set(nBins, ptBins);
2608 m_trk_pv0_notMatching_deltar_var_pt ->GetXaxis()->Set(nBins, ptBins);
2609 m_trk_pv0_notMatching_deltar_none_pt ->GetXaxis()->Set(nBins, ptBins);
2610
2611 m_trk_pv0_matching_deltar_fix_and_var_pt ->GetXaxis()->Set(nBins, ptBins);
2612 m_trk_pv0_matching_deltar_fix_or_var_pt ->GetXaxis()->Set(nBins, ptBins);
2613 m_trk_pv0_matching_deltar_fix_pt ->GetXaxis()->Set(nBins, ptBins);
2614 m_trk_pv0_matching_deltar_var_pt ->GetXaxis()->Set(nBins, ptBins);
2615 m_trk_pv0_matching_deltar_onlyfix_pt ->GetXaxis()->Set(nBins, ptBins);
2616 m_trk_pv0_matching_deltar_onlyvar_pt ->GetXaxis()->Set(nBins, ptBins);
2617
2618 m_trk_pv0_matchedFraction_pt_fix_and_var ->GetXaxis()->Set(nBins, ptBins);
2619 m_trk_pv0_matchedFraction_pt_fix_or_var ->GetXaxis()->Set(nBins, ptBins);
2620 m_trk_pv0_matchedFraction_pt_fix ->GetXaxis()->Set(nBins, ptBins);
2621 m_trk_pv0_matchedFraction_pt_notfix ->GetXaxis()->Set(nBins, ptBins);
2622 m_trk_pv0_matchedFraction_pt_var ->GetXaxis()->Set(nBins, ptBins);
2623 m_trk_pv0_matchedFraction_pt_notvar ->GetXaxis()->Set(nBins, ptBins);
2624 m_trk_pv0_matchedFraction_pt_onlyvar ->GetXaxis()->Set(nBins, ptBins);
2625 m_trk_pv0_matchedFraction_pt_onlyfix ->GetXaxis()->Set(nBins, ptBins);
2626 m_trk_pv0_matchedFraction_pt_none ->GetXaxis()->Set(nBins, ptBins);
2627
2628 }
2629
2630 if (!m_trackProdRadiusBins.empty()) {
2631 const float* radiusBins = m_trackProdRadiusBins.data();
2632 int nBins = m_trackProdRadiusBins.size()-1;
2633
2634 m_trk_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2635 m_trk_perigeeUncEta_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2636 m_trk_perigeeUncTheta_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2637 m_trk_perigeeUncPhi_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2638 m_trk_perigeeUncTot_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2639 m_trk_caloEntryUncEta_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2640 m_trk_caloEntryUncTheta_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2641 m_trk_caloEntryUncPhi_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2642 m_trk_caloEntryUncTot_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2643
2644 m_trk_notMatching_deltar_fix_caloEntryUncTot_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2645 m_trk_notMatching_deltar_var_caloEntryUncTot_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2646 m_trk_notMatching_deltar_none_caloEntryUncTot_prodRadius ->GetXaxis()->Set(nBins, radiusBins);
2647
2648 }
2649 } else if (m_collectionType == "jets") {
2650
2651 if (!m_jetPtBins.empty()) {
2652
2653 float* ptBins = m_jetPtBins.data();
2654 int nBins = m_jetPtBins.size()-1;
2655
2656 m_jet_response_m_pt ->GetXaxis()->Set(nBins, ptBins);
2657 m_jet_response_m_pt_2leadings ->GetXaxis()->Set(nBins, ptBins);
2658 m_jet_response_m_pt_leading ->GetXaxis()->Set(nBins, ptBins);
2659 m_jet_response_m_pt_subleading ->GetXaxis()->Set(nBins, ptBins);
2660 m_jet_response_d2_pt ->GetXaxis()->Set(nBins, ptBins);
2661 m_jet_response_d2_pt_2leadings ->GetXaxis()->Set(nBins, ptBins);
2662 m_jet_response_d2_pt_leading ->GetXaxis()->Set(nBins, ptBins);
2663 m_jet_response_d2_pt_subleading ->GetXaxis()->Set(nBins, ptBins);
2664 m_jet_response_add_d2_pt ->GetXaxis()->Set(nBins, ptBins);
2665 m_jet_response_add_d2_pt_2leadings ->GetXaxis()->Set(nBins, ptBins);
2666 m_jet_response_add_d2_pt_leading ->GetXaxis()->Set(nBins, ptBins);
2667 m_jet_response_add_d2_pt_subleading ->GetXaxis()->Set(nBins, ptBins);
2668 m_jet_response_add_eta_pt ->GetXaxis()->Set(nBins, ptBins);
2669 m_jet_response_add_eta_pt_2leadings ->GetXaxis()->Set(nBins, ptBins);
2670 m_jet_response_add_eta_pt_leading ->GetXaxis()->Set(nBins, ptBins);
2671 m_jet_response_add_eta_pt_subleading ->GetXaxis()->Set(nBins, ptBins);
2672 m_jet_resolution_m ->GetXaxis()->Set(nBins, ptBins);
2673 m_jet_resolution_m_2leadings ->GetXaxis()->Set(nBins, ptBins);
2674 m_jet_resolution_m_leading ->GetXaxis()->Set(nBins, ptBins);
2675 m_jet_resolution_m_subleading ->GetXaxis()->Set(nBins, ptBins);
2676 m_jet_resolution_d2 ->GetXaxis()->Set(nBins, ptBins);
2677 m_jet_resolution_d2_2leadings ->GetXaxis()->Set(nBins, ptBins);
2678 m_jet_resolution_d2_leading ->GetXaxis()->Set(nBins, ptBins);
2679 m_jet_resolution_d2_subleading ->GetXaxis()->Set(nBins, ptBins);
2680 m_jet_resolution_add_d2 ->GetXaxis()->Set(nBins, ptBins);
2681 m_jet_resolution_add_d2_2leadings ->GetXaxis()->Set(nBins, ptBins);
2682 m_jet_resolution_add_d2_leading ->GetXaxis()->Set(nBins, ptBins);
2683 m_jet_resolution_add_d2_subleading ->GetXaxis()->Set(nBins, ptBins);
2684 }
2685
2686 if (!m_jetPtBins.empty() and !m_jetMassOverPtBins.empty()) {
2687
2688 float* ptBins = m_jetPtBins.data();
2689 int nBinsPt = m_jetPtBins.size()-1;
2690
2691 float* massOverPtBins = m_jetMassOverPtBins.data();
2692 int nBinsMassOverPt = m_jetMassOverPtBins.size()-1;
2693
2694
2695 m_jet_mopt_pt_response_m ->GetXaxis()->Set(nBinsPt, ptBins);
2696 m_jet_mopt_pt_response_m ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2697 m_jet_mopt_pt_response_m_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2698 m_jet_mopt_pt_response_m_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2699 m_jet_mopt_pt_response_m_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2700 m_jet_mopt_pt_response_m_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2701 m_jet_mopt_pt_response_m_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2702 m_jet_mopt_pt_response_m_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2703
2704 m_jet_mopt_pt_response_pt ->GetXaxis()->Set(nBinsPt, ptBins);
2705 m_jet_mopt_pt_response_pt ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2706 m_jet_mopt_pt_response_pt_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2707 m_jet_mopt_pt_response_pt_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2708 m_jet_mopt_pt_response_pt_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2709 m_jet_mopt_pt_response_pt_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2710 m_jet_mopt_pt_response_pt_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2711 m_jet_mopt_pt_response_pt_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2712
2713 m_jet_mopt_pt_response_eta ->GetXaxis()->Set(nBinsPt, ptBins);
2714 m_jet_mopt_pt_response_eta ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2715 m_jet_mopt_pt_response_eta_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2716 m_jet_mopt_pt_response_eta_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2717 m_jet_mopt_pt_response_eta_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2718 m_jet_mopt_pt_response_eta_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2719 m_jet_mopt_pt_response_eta_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2720 m_jet_mopt_pt_response_eta_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2721
2722 m_jet_mopt_pt_response_phi ->GetXaxis()->Set(nBinsPt, ptBins);
2723 m_jet_mopt_pt_response_phi ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2724 m_jet_mopt_pt_response_phi_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2725 m_jet_mopt_pt_response_phi_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2726 m_jet_mopt_pt_response_phi_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2727 m_jet_mopt_pt_response_phi_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2728 m_jet_mopt_pt_response_phi_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2729 m_jet_mopt_pt_response_phi_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2730
2731 m_jet_mopt_pt_response_d2 ->GetXaxis()->Set(nBinsPt, ptBins);
2732 m_jet_mopt_pt_response_d2 ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2733 m_jet_mopt_pt_response_d2_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2734 m_jet_mopt_pt_response_d2_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2735 m_jet_mopt_pt_response_d2_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2736 m_jet_mopt_pt_response_d2_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2737 m_jet_mopt_pt_response_d2_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2738 m_jet_mopt_pt_response_d2_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2739
2740 m_jet_resolution_mopt_pt_m ->GetXaxis()->Set(nBinsPt, ptBins);
2741 m_jet_resolution_mopt_pt_m ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2742 m_jet_resolution_mopt_pt_m_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2743 m_jet_resolution_mopt_pt_m_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2744 m_jet_resolution_mopt_pt_m_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2745 m_jet_resolution_mopt_pt_m_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2746 m_jet_resolution_mopt_pt_m_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2747 m_jet_resolution_mopt_pt_m_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2748
2749 m_jet_resolution_mopt_pt_pt ->GetXaxis()->Set(nBinsPt, ptBins);
2750 m_jet_resolution_mopt_pt_pt ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2751 m_jet_resolution_mopt_pt_pt_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2752 m_jet_resolution_mopt_pt_pt_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2753 m_jet_resolution_mopt_pt_pt_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2754 m_jet_resolution_mopt_pt_pt_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2755 m_jet_resolution_mopt_pt_pt_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2756 m_jet_resolution_mopt_pt_pt_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2757
2758 m_jet_resolution_mopt_pt_eta ->GetXaxis()->Set(nBinsPt, ptBins);
2759 m_jet_resolution_mopt_pt_eta ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2760 m_jet_resolution_mopt_pt_eta_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2761 m_jet_resolution_mopt_pt_eta_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2762 m_jet_resolution_mopt_pt_eta_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2763 m_jet_resolution_mopt_pt_eta_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2764 m_jet_resolution_mopt_pt_eta_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2765 m_jet_resolution_mopt_pt_eta_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2766
2767 m_jet_resolution_mopt_pt_phi ->GetXaxis()->Set(nBinsPt, ptBins);
2768 m_jet_resolution_mopt_pt_phi ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2769 m_jet_resolution_mopt_pt_phi_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2770 m_jet_resolution_mopt_pt_phi_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2771 m_jet_resolution_mopt_pt_phi_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2772 m_jet_resolution_mopt_pt_phi_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2773 m_jet_resolution_mopt_pt_phi_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2774 m_jet_resolution_mopt_pt_phi_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2775
2776 m_jet_resolution_mopt_pt_d2 ->GetXaxis()->Set(nBinsPt, ptBins);
2777 m_jet_resolution_mopt_pt_d2 ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2778 m_jet_resolution_mopt_pt_d2_2leadings ->GetXaxis()->Set(nBinsPt, ptBins);
2779 m_jet_resolution_mopt_pt_d2_2leadings ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2780 m_jet_resolution_mopt_pt_d2_leading ->GetXaxis()->Set(nBinsPt, ptBins);
2781 m_jet_resolution_mopt_pt_d2_leading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2782 m_jet_resolution_mopt_pt_d2_subleading ->GetXaxis()->Set(nBinsPt, ptBins);
2783 m_jet_resolution_mopt_pt_d2_subleading ->GetYaxis()->Set(nBinsMassOverPt, massOverPtBins);
2784 }
2785 } else if (m_collectionType == "tccs") {
2786 if (!m_trackPtBins.empty()) {
2787 float* ptBins = m_trackPtBins.data();
2788 int nBins = m_trackPtBins.size()-1;
2789
2790 m_tcc_pt ->GetXaxis()->Set(nBins, ptBins);
2791 m_tcc_pt_etacut ->GetXaxis()->Set(nBins, ptBins);
2792 m_tcc_taste_pt ->GetXaxis()->Set(nBins, ptBins);
2793 m_tcc_taste_pt_etacut ->GetXaxis()->Set(nBins, ptBins);
2794 m_tcc_pt_track_pt ->GetXaxis()->Set(nBins, ptBins);
2795 m_tcc_pt_track_pt ->GetYaxis()->Set(nBins, ptBins);
2796 m_tcc_pt_truth_pt ->GetXaxis()->Set(nBins, ptBins);
2797 m_tcc_pt_truth_pt ->GetYaxis()->Set(nBins, ptBins);
2798
2799 m_trk_tcc_reco_pt_truth_pt ->GetXaxis()->Set(nBins, ptBins);
2800 m_trk_tcc_reco_pt_truth_pt ->GetYaxis()->Set(nBins, ptBins);
2801
2802 }
2803 } else return;
2804}
#define M_PI
static const std::vector< std::string > bins
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
std::string m_folder
static void fillHisto(TH1 *pTh1, const float value)
void book(TH1 *&pHisto, const SingleHistogramDefinition &hd)
Book a TH1 histogram.
TCCPlotsBase(PlotBase *pParent, const std::string &folder)
TH1 * m_jet_resolution_m_npv
Definition TCCPlots.h:211
TH1 * m_clusters_matched_pv0_eta_var
Definition TCCPlots.h:438
TH1 * m_clusters_matchedFraction_eta_fix_and_var
Definition TCCPlots.h:386
TH2 * m_trk_phi_pt
Definition TCCPlots.h:287
TH1 * m_jet_pseudoresponse_m
Definition TCCPlots.h:169
TH1 * m_clusters_abs_matched_pv0_eta_onlyfix
Definition TCCPlots.h:450
TH2 * m_trk_matching_deltar_and_clusters_pt
Definition TCCPlots.h:563
TH1 * m_trk_pv0_notMatching_deltar_none_eta
Definition TCCPlots.h:605
TH2 * m_jet_resolution_mopt_pt_pt_subleading
Definition TCCPlots.h:259
TH1 * m_trk_pv0_matchedFraction_pt_var
Definition TCCPlots.h:628
TH1 * m_jet_phi_subleading
Definition TCCPlots.h:115
TH2 * m_trk_caloEntryUncEta_caloEntryEta
Definition TCCPlots.h:292
TH1 * m_clusters_matchedpvxFraction_eta_fix_and_var
Definition TCCPlots.h:491
TH1 * m_clusters_matched_pv0_eta_notfix
Definition TCCPlots.h:437
TH1 * m_clusters_abs_matchedpvxFraction_eta_notfix
Definition TCCPlots.h:503
TH2 * m_clusters_width_energy
Definition TCCPlots.h:370
TH1 * m_trk_pv0_matchedFraction_pt_fix_or_var
Definition TCCPlots.h:625
TH2 * m_clusters_pt_fraction_e
Definition TCCPlots.h:510
TH1 * m_clusters_matched_pvx_eta_none
Definition TCCPlots.h:480
TH1 * m_clusters_matched_eta_onlyfix
Definition TCCPlots.h:384
TH1 * m_clusters_abs_matchedFraction_eta_notvar
Definition TCCPlots.h:429
TH1 * m_clusters_abs_matched_pv0_eta_notvar
Definition TCCPlots.h:448
TH2 * m_trk_z0_pt
Definition TCCPlots.h:285
void fillCaloEntryInfoAllPt(const xAOD::TrackParticle &track)
void fillResponseSubLeadingNPV(const xAOD::Jet &jet, const xAOD::Jet &truth, int NPV)
void fillResponseLeadingNPV(const xAOD::Jet &jet, const xAOD::Jet &truth, int NPV)
TH1 * m_clusters_matched_eta_notvar
Definition TCCPlots.h:382
TH2 * m_jet_resolution_mopt_pt_pt_2leadings
Definition TCCPlots.h:257
void fillResponseLeading(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH2 * m_trk_theta_eta
Definition TCCPlots.h:281
TH1 * m_clusters_abs_matched_eta_onlyfix
Definition TCCPlots.h:422
TH1 * m_tcc_eta_ptcut
Definition TCCPlots.h:644
TH3 * m_jet_mopt_pt_response_d2
Definition TCCPlots.h:247
TH1 * m_jet_resolution_m_npv_leading
Definition TCCPlots.h:213
TH1 * m_jet_response_add_d2_leading
Definition TCCPlots.h:203
TH2 * m_trk_perigeeUncPhi_pt
Definition TCCPlots.h:312
TH1 * m_trk_matchedFraction_eta_notfix
Definition TCCPlots.h:574
TH1 * m_clusters_matched_pv0_eta_fix_and_var
Definition TCCPlots.h:434
TH1 * m_tcc_pt_pseudoresponse
Definition TCCPlots.h:654
TH1 * m_clusters_abs_matched_pv0_eta_var
Definition TCCPlots.h:447
TH1 * m_trk_d0
Definition TCCPlots.h:274
TH1 * m_jet_deltaR_matched
Definition TCCPlots.h:118
TH2 * m_jet_resolution_mopt_pt_d2
Definition TCCPlots.h:268
TH2 * m_jet_response_m_pt
Definition TCCPlots.h:121
TH2 * m_trk_matching_deltar_or_clusters_eta
Definition TCCPlots.h:558
TH1 * m_clusters_abs_matchedFraction_energy
Definition TCCPlots.h:406
TH3 * m_jet_mopt_pt_response_m_leading
Definition TCCPlots.h:233
TH1 * m_clusters_matchedFraction_eta_onlyvar
Definition TCCPlots.h:392
TH2 * m_trk_delta_trackPhi_caloEntryPhiCorr_eta
Definition TCCPlots.h:347
TH1 * m_jet_median_width_m_npv_subleading
Definition TCCPlots.h:219
TH1 * m_jet_phi_2leadings
Definition TCCPlots.h:105
TH1 * m_clusters_abs_matched_pv0_eta_fix_or_var
Definition TCCPlots.h:444
TH2 * m_tcc_taste_pt
Definition TCCPlots.h:647
TH3 * m_jet_mopt_pt_response_eta
Definition TCCPlots.h:243
TH2 * m_trk_perigeeUncTot_prodRadius
Definition TCCPlots.h:324
void fillMomentsSubLeadingWithMassCut(const xAOD::Jet &jet)
TH1 * m_jet_response_add_eta
Definition TCCPlots.h:144
TH1 * m_trk_matchedFraction_eta_onlyfix
Definition TCCPlots.h:578
TH2 * m_jet_response_m_npv_2leadings
Definition TCCPlots.h:155
TH2 * m_jet_resolution_mopt_pt_m_subleading
Definition TCCPlots.h:255
TH2 * m_trk_delta_caloEntryPhi_caloEntryPhiCorr_pt
Definition TCCPlots.h:356
TH1 * m_trk_matchedFraction_pt_notfix
Definition TCCPlots.h:583
TH2 * m_jet_resolution_mopt_pt_pt
Definition TCCPlots.h:256
TH1 * m_clusters_matched_pvx_eta_notvar
Definition TCCPlots.h:477
TH2 * m_jet_response_add_eta_pt
Definition TCCPlots.h:149
TH2 * m_trk_d0_eta
Definition TCCPlots.h:279
TH1 * m_jet_response_m
Definition TCCPlots.h:120
void setTrackPtBinning(const std::vector< float > &bins)
Definition TCCPlots.cxx:541
TH2 * m_trk_caloEntryUncTot_prodRadius
Definition TCCPlots.h:328
TH2 * m_trk_delta_trackPhi_caloEntryPhiCorr_pt
Definition TCCPlots.h:349
TH2 * m_jet_response_add_eta_pt_leading
Definition TCCPlots.h:151
TH1 * m_trk_matching_deltar_fix_and_var_pt
Definition TCCPlots.h:557
TH2 * m_trk_perigeeUncEta_eta
Definition TCCPlots.h:306
TH1 * m_jet_pt
Definition TCCPlots.h:97
TH1 * m_clusters_abs_energy
Definition TCCPlots.h:403
TH1 * m_clusters_matched_pvx_eta_fix
Definition TCCPlots.h:474
TH2 * m_clusters_abs_width_energy
Definition TCCPlots.h:408
TH1 * m_trk_delta_trackPhi_caloEntryPhiCorr
Definition TCCPlots.h:345
TH1 * m_trk_pv0_matching_deltar_fix_or_var_eta
Definition TCCPlots.h:609
TH1 * m_clusters_abs_matchedpv0Fraction_eta_onlyfix
Definition TCCPlots.h:469
TH2 * m_clusters_PVX_pt_fraction_e
Definition TCCPlots.h:512
TH2 * m_trk_notMatching_deltar_none_caloEntryUncTot_pt
Definition TCCPlots.h:544
TH1 * m_clusters_abs_matched_pv0_eta_fix_and_var
Definition TCCPlots.h:443
TH1 * m_trk_pv0_matchedFraction_eta_fix
Definition TCCPlots.h:617
TH1 * m_clusters_etacut_abs_eta
Definition TCCPlots.h:409
TH1 * m_trk_z0
Definition TCCPlots.h:275
TH1 * m_clusters_abs_matchedFraction_eta_fix
Definition TCCPlots.h:426
TH1 * m_clusters_matched_energy
Definition TCCPlots.h:366
TH2 * m_trk_delta_caloEntryEta_caloEntryEtaCorr_eta
Definition TCCPlots.h:353
TH1 * m_jet_resolution_m_npv_2leadings
Definition TCCPlots.h:212
TH3 * m_jet_mopt_pt_response_phi
Definition TCCPlots.h:239
TH2 * m_jet_resolution_mopt_pt_m_leading
Definition TCCPlots.h:254
void setTrackProdRadiusBinning(const std::vector< float > &bins)
Definition TCCPlots.cxx:545
void resizeHistograms()
TH2 * m_trk_notMatching_deltar_fix_caloEntryUncTot_eta
Definition TCCPlots.h:531
TH1 * m_clusters_etacut_width
Definition TCCPlots.h:372
TH1 * m_trk_pv0_notMatching_deltar_var_eta
Definition TCCPlots.h:603
TH2 * m_trk_pv0_caloEntryUncTot_truthpt
Definition TCCPlots.h:594
TH1 * m_jet_response_add_d2
Definition TCCPlots.h:201
TH1 * m_clusters_notMatched_eta
Definition TCCPlots.h:360
TH1 * m_clusters_abs_matched_pvx_eta_var
Definition TCCPlots.h:485
TH1 * m_clusters_abs_matched_eta_none
Definition TCCPlots.h:423
TH1 * m_clusters_abs_matchedpvxFraction_eta_var
Definition TCCPlots.h:504
TH2 * m_trk_d0_pt
Definition TCCPlots.h:284
TH2 * m_trk_caloEntryUncEta_eta
Definition TCCPlots.h:293
TH1 * m_jet_response_d2_leading
Definition TCCPlots.h:198
TH2 * m_trk_delta_perigeeEta_caloEntryEta_pt
Definition TCCPlots.h:334
TH2 * m_trk_caloEntryUncTot_eta
Definition TCCPlots.h:303
TH1 * m_jet_pseudoresponse_pt_2leadings
Definition TCCPlots.h:173
TH1 * m_clusters_abs_matched_pvx_eta_onlyfix
Definition TCCPlots.h:488
TH1 * m_trk_delta_caloEntryPhi_caloEntryPhiCorr
Definition TCCPlots.h:352
TH2 * m_jet_response_d2_pt_2leadings
Definition TCCPlots.h:160
TH1 * m_clusters_abs_matchedFraction_eta_fix_and_var
Definition TCCPlots.h:424
TH1 * m_clusters_matched_pv0_eta_notvar
Definition TCCPlots.h:439
TH1 * m_trk_pv0_matchedFraction_eta_notvar
Definition TCCPlots.h:620
TH2 * m_trk_caloEntryUncPhi_prodRadius
Definition TCCPlots.h:327
TH1 * m_jet_response_m_2leadings
Definition TCCPlots.h:126
TH1 * m_clusters_abs_matched_pvx_eta_fix
Definition TCCPlots.h:483
TH1 * m_clusters_matched_eta_onlyvar
Definition TCCPlots.h:383
TH2 * m_trk_notMatching_deltar_fix_caloEntryUncTot_prodRadius
Definition TCCPlots.h:533
TH1 * m_trk_matchedFraction_eta_fix_or_var
Definition TCCPlots.h:572
TH1 * m_clusters_abs_matchedpv0Fraction_eta_onlyvar
Definition TCCPlots.h:468
void initializePlots()
Definition TCCPlots.cxx:549
TH2 * m_trk_pv0_caloEntryUncTot_rFirstHit_0SiHits
Definition TCCPlots.h:636
TH1 * m_clusters_matchedFraction_eta_none
Definition TCCPlots.h:394
TH1 * m_trk_notMatching_deltar_none_phi
Definition TCCPlots.h:541
TH2 * m_jet_response_d2_pt_leading
Definition TCCPlots.h:161
TH1 * m_trk_pv0_matchedFraction_eta_onlyfix
Definition TCCPlots.h:622
TH1 * m_clusters_matched_pvx_eta_notfix
Definition TCCPlots.h:475
TH1 * m_trk_pv0_matching_deltar_fix_or_var_pt
Definition TCCPlots.h:610
TH1 * m_jet_pt_2leadings
Definition TCCPlots.h:103
TH1 * m_jet_eta_2leadings
Definition TCCPlots.h:104
TH1 * m_trk_delta_trackEta_caloEntryEtaCorr
Definition TCCPlots.h:344
TH1 * m_clusters_matchedpv0Fraction_eta_var
Definition TCCPlots.h:457
TH1 * m_trk_pv0_total_pt
Definition TCCPlots.h:591
TH1 * m_jet_response_pt_subleading
Definition TCCPlots.h:140
TH1 * m_jet_resolution_d2_subleading
Definition TCCPlots.h:224
void fillMoments(const xAOD::Jet &jet)
TH1 * m_clusters_abs_matchedFraction_eta_onlyvar
Definition TCCPlots.h:430
TH2 * m_trk_delta_caloEntryEta_caloEntryEtaCorr_pt
Definition TCCPlots.h:355
TH1 * m_jet_resolution_m_leading
Definition TCCPlots.h:208
TH1 * m_trk_matchedFraction_pt_fix
Definition TCCPlots.h:582
TH1 * m_jet_pt_leading
Definition TCCPlots.h:108
TH1 * m_tcc_pt_etacut
Definition TCCPlots.h:641
TH1 * m_trk_pv0_matching_deltar_onlyvar_pt
Definition TCCPlots.h:614
TH2 * m_trk_perigeeUncEta_pt
Definition TCCPlots.h:307
TH1 * m_trk_pv0_matchedFraction_pt_fix_and_var
Definition TCCPlots.h:624
TH2 * m_tcc_pt_truth_pt
Definition TCCPlots.h:651
TH2 * m_trk_delta_perigeeEta_caloEntryEta_eta
Definition TCCPlots.h:332
TH1 * m_clusters_all_neutral_PV0_e
Definition TCCPlots.h:518
TH1 * m_trk_perigeePhi
Definition TCCPlots.h:310
TH1 * m_jet_m
Definition TCCPlots.h:100
TH1 * m_jet_response_add_eta_leading
Definition TCCPlots.h:146
TH1 * m_trk_delta_trackPhi_caloEntryPhi
Definition TCCPlots.h:338
TH1 * m_clusters_abs_matched_energy
Definition TCCPlots.h:404
TH3 * m_jet_mopt_pt_response_pt_subleading
Definition TCCPlots.h:238
TH1 * m_trk_matchedFraction_eta_var
Definition TCCPlots.h:575
TH1 * m_clusters_abs_matched_pvx_eta_notvar
Definition TCCPlots.h:486
TH1 * m_clusters_abs_matched_pvx_eta_onlyvar
Definition TCCPlots.h:487
TH1 * m_clusters_matchedFraction_eta_fix
Definition TCCPlots.h:388
TH1 * m_clusters_abs_matched_pvx_eta_fix_or_var
Definition TCCPlots.h:482
TH1 * m_jet_response_d2
Definition TCCPlots.h:196
TH1 * m_trk_pv0_notMatching_deltar_fix_eta
Definition TCCPlots.h:601
void fillMomentsLeadingWithMassCut(const xAOD::Jet &jet)
TH1 * m_clusters_matched_pvx_eta_fix_and_var
Definition TCCPlots.h:472
TH2 * m_jet_response_add_eta_pt_subleading
Definition TCCPlots.h:152
TH1 * m_jet_response_phi
Definition TCCPlots.h:124
TH1 * m_trk_pv0_total_eta
Definition TCCPlots.h:590
TH1 * m_jet_d2_massCut
Definition TCCPlots.h:191
void fillPerigeeVsCaloEntry(const xAOD::TrackParticle &track)
TH1 * m_jet_eta_leading
Definition TCCPlots.h:109
TH1 * m_clusters_matched_pv0_eta_none
Definition TCCPlots.h:442
TH3 * m_jet_mopt_pt_response_d2_2leadings
Definition TCCPlots.h:248
TH1 * m_trk_notMatching_deltar_none_pt
Definition TCCPlots.h:542
void fillPerigeeInfo(const xAOD::TrackParticle &track)
TH1 * m_trk_notMatching_deltar_var_phi
Definition TCCPlots.h:535
TH1 * m_trk_matchedFraction_pt_onlyvar
Definition TCCPlots.h:586
TH2 * m_trk_notMatching_deltar_none_caloEntryUncTot_prodRadius
Definition TCCPlots.h:545
TH2 * m_trk_matching_deltar_and_clusters_phi
Definition TCCPlots.h:562
TH1 * m_jet_resolution_m_2leadings
Definition TCCPlots.h:207
TH1 * m_clusters_matchedpvxFraction_eta_fix
Definition TCCPlots.h:493
TH1 * m_clusters_matched_eta_notfix
Definition TCCPlots.h:380
TH2 * m_trk_notMatching_deltar_none_caloEntryUncTot_eta
Definition TCCPlots.h:543
TH2 * m_clusters_etacut_width_eta
Definition TCCPlots.h:373
void fillMomentsWithMassCut(const xAOD::Jet &jet)
TH2 * m_trk_perigeeUncTheta_pt
Definition TCCPlots.h:309
TH1 * m_trk_caloEntryEta
Definition TCCPlots.h:289
TH1 * m_jet_resolution_m_npv_subleading
Definition TCCPlots.h:214
const xAOD::TrackParticle * getTrackParticlePtr(const xAOD::TrackCaloCluster &tcc) const
Definition TCCPlots.h:682
TH1 * m_trk_delta_caloEntryEta_caloEntryEtaCorr
Definition TCCPlots.h:351
TH2 * m_tcc_N_M_pv0
Definition TCCPlots.h:656
TH1 * m_jet_response_m_leading
Definition TCCPlots.h:132
TH1 * m_trk_pv0_matchedFraction_pt_notfix
Definition TCCPlots.h:627
TH1 * m_tcc_pt
Definition TCCPlots.h:640
TH1 * m_clusters_matchedpv0Fraction_eta_fix_and_var
Definition TCCPlots.h:453
TH1 * m_clusters_width
Definition TCCPlots.h:363
TH3 * m_jet_mopt_pt_response_pt_leading
Definition TCCPlots.h:237
TH2 * m_trk_phi_eta
Definition TCCPlots.h:282
TH2 * m_trk_caloEntryUncEta_pt
Definition TCCPlots.h:294
TH1 * m_trk_matchedFraction_eta_fix_and_var
Definition TCCPlots.h:571
TH1 * m_clusters_abs_matched_pvx_eta_notfix
Definition TCCPlots.h:484
TH2 * m_trk_pv0_caloEntryUncTot_pt
Definition TCCPlots.h:593
TH1 * m_clusters_all_neutral_neutral_e
Definition TCCPlots.h:522
TH1 * m_trk_matching_deltar_onlyfix_pt
Definition TCCPlots.h:551
TH1 * m_clusters_abs_matched_eta_fix_and_var
Definition TCCPlots.h:415
TH1 * m_clusters_matchedpvxFraction_eta_notvar
Definition TCCPlots.h:496
TH1 * m_clusters_abs_matched_eta_onlyvar
Definition TCCPlots.h:421
TH1 * m_tcc_taste
Definition TCCPlots.h:646
TH2 * m_trk_caloEntryUncPhi_caloEntryPhi
Definition TCCPlots.h:300
TH1 * m_clusters_abs_matched_pv0_eta_fix
Definition TCCPlots.h:445
TH2 * m_jet_response_m_npv
Definition TCCPlots.h:154
TH1 * m_clusters_matchedFraction_eta_notvar
Definition TCCPlots.h:391
TH1 * m_jet_n
Definition TCCPlots.h:96
TH1 * m_jet_eta_subleading
Definition TCCPlots.h:114
TH1 * m_clusters_notMatchedFraction_energy
Definition TCCPlots.h:369
TH1 * m_clusters_matchedpv0Fraction_eta_notfix
Definition TCCPlots.h:456
TH1 * m_trk_notMatching_deltar_var_pt
Definition TCCPlots.h:536
TH1 * m_clusters_abs_matched_eta_notvar
Definition TCCPlots.h:420
TH1 * m_trk_pv0_matching_deltar_fix_and_var_eta
Definition TCCPlots.h:607
void fillResponse(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH1 * m_trk_notMatching_deltar_none_eta
Definition TCCPlots.h:540
std::vector< float > m_jetMassOverPtBins
Definition TCCPlots.h:92
TH2 * m_trk_perigeeUncEta_caloUncEta
Definition TCCPlots.h:315
TH2 * m_trk_total_clusters_pt
Definition TCCPlots.h:527
TH1 * m_clusters_abs_notMatchedFraction_eta
Definition TCCPlots.h:400
TH1 * m_trk_matching_deltar_fix_pt
Definition TCCPlots.h:547
void fillPseudoResponse(const xAOD::Jet &jet, const xAOD::Jet &calo)
void fillLeading(const xAOD::Jet &jet)
TH2 * m_jet_resolution_mopt_pt_eta_leading
Definition TCCPlots.h:266
TH1 * m_clusters_matchedFraction_energy
Definition TCCPlots.h:368
TH1 * m_trk_pv0_matchedFraction_pt_none
Definition TCCPlots.h:632
TH1 * m_trk_pv0_matchedFraction_pt_fix
Definition TCCPlots.h:626
TH1 * m_trk_pv0_matchedFraction_pt_notvar
Definition TCCPlots.h:629
TH1 * m_clusters_abs_matchedFraction_eta_fix_or_var
Definition TCCPlots.h:425
TH2 * m_jet_resolution_mopt_pt_phi_subleading
Definition TCCPlots.h:263
TH2 * m_tcc_pt_track_pt
Definition TCCPlots.h:653
TH2 * m_trk_perigeeUncTot_pt
Definition TCCPlots.h:314
TH1 * m_trk_matching_deltar_fix_or_var_pt
Definition TCCPlots.h:555
TH2 * m_trk_caloEntryEtaOverEta_pt
Definition TCCPlots.h:291
void fillTCC(const xAOD::TrackCaloCluster &tcc, std::vector< const xAOD::TrackParticle * > &alltracksPV0)
TH3 * m_jet_mopt_pt_response_m_subleading
Definition TCCPlots.h:234
TH1 * m_clusters_notMatchedFraction_eta
Definition TCCPlots.h:362
TH1 * m_trk_matching_deltar_var_eta
Definition TCCPlots.h:548
TH1 * m_clusters_matched_pv0_eta_fix
Definition TCCPlots.h:436
TH1 * m_jet_median_width_m_npv_leading
Definition TCCPlots.h:218
TH2 * m_jet_resolution_mopt_pt_d2_subleading
Definition TCCPlots.h:271
TH1 * m_clusters_matchedpvxFraction_eta_none
Definition TCCPlots.h:499
TH2 * m_trk_caloEntryPhiOverPhi_pt
Definition TCCPlots.h:299
TH3 * m_jet_mopt_pt_response_phi_2leadings
Definition TCCPlots.h:240
TH2 * m_trk_perigeeUncTot_caloUncTot
Definition TCCPlots.h:318
TH1 * m_jet_response_phi_leading
Definition TCCPlots.h:136
TH1 * m_jet_response_eta_leading
Definition TCCPlots.h:135
TH1 * m_clusters_abs_matched_eta
Definition TCCPlots.h:397
TH2 * m_trk_pv0_caloEntryUncTot_eta_0SiHits
Definition TCCPlots.h:634
TH1 * m_trk_notMatching_deltar_fix_phi
Definition TCCPlots.h:529
TH1 * m_clusters_matchedFraction_eta_var
Definition TCCPlots.h:390
TH1 * m_clusters_matched_eta_fix_or_var
Definition TCCPlots.h:378
TH2 * m_jet_resolution_mopt_pt_eta_subleading
Definition TCCPlots.h:267
TH1 * m_clusters_matchedpvxFraction_eta_onlyvar
Definition TCCPlots.h:497
TH2 * m_trk_matching_deltar_fix_only_clusters_phi
Definition TCCPlots.h:565
void fillTrackParameters(const xAOD::TrackParticle &track)
TH1 * m_jet_response_add_d2_subleading
Definition TCCPlots.h:204
TH2 * m_trk_notMatching_deltar_var_caloEntryUncTot_prodRadius
Definition TCCPlots.h:539
TH1 * m_trk_matchedFraction_pt_notvar
Definition TCCPlots.h:585
TH3 * m_jet_mopt_pt_response_pt_2leadings
Definition TCCPlots.h:236
TH1 * m_trk_matchedFraction_pt_var
Definition TCCPlots.h:584
TH1 * m_jet_phi
Definition TCCPlots.h:99
TH1 * m_clusters_abs_matchedFraction_eta_notfix
Definition TCCPlots.h:427
TH1 * m_trk_notMatching_deltar_fix_eta
Definition TCCPlots.h:528
TH2 * m_trk_perigeeUncEta_prodRadius
Definition TCCPlots.h:321
TH2 * m_trk_matching_deltar_or_clusters_pt
Definition TCCPlots.h:560
TH1 * m_trk_matching_deltar_var_pt
Definition TCCPlots.h:549
TH2 * m_jet_response_add_eta_pt_2leadings
Definition TCCPlots.h:150
TH2 * m_jet_resolution_mopt_pt_phi_2leadings
Definition TCCPlots.h:261
TH2 * m_trk_pv0_caloEntryUncTot_pt_0SiHits
Definition TCCPlots.h:635
TH3 * m_jet_mopt_pt_response_m_2leadings
Definition TCCPlots.h:232
TH1 * m_tcc_phi
Definition TCCPlots.h:642
TH2 * m_trk_matching_deltar_var_only_clusters_phi
Definition TCCPlots.h:568
TH1 * m_clusters_abs_matchedFraction_eta_none
Definition TCCPlots.h:432
TH2 * m_clusters_etacut_width_energy
Definition TCCPlots.h:375
TH2 * m_trk_perigeeUncTheta_caloUncTheta
Definition TCCPlots.h:316
TH1 * m_trk_pv0_matchedFraction_eta_var
Definition TCCPlots.h:619
TH2 * m_trk_caloEntryUncTot_pt
Definition TCCPlots.h:304
TH1 * m_jet_pseudoresponse_m_subleading
Definition TCCPlots.h:178
TH1 * m_jet_eta
Definition TCCPlots.h:98
TH1 * m_trk_tcc_reco_pt_response
Definition TCCPlots.h:659
TH1 * m_jet_pseudoresponse_pt_leading
Definition TCCPlots.h:176
TH2 * m_trk_delta_trackEta_caloEntryEtaCorr_pt
Definition TCCPlots.h:348
void finalizePlots()
void fillTrackParametersAllPt(const xAOD::TrackParticle &track)
TH2 * m_jet_resolution_mopt_pt_m
Definition TCCPlots.h:252
TH1 * m_clusters_matched_pvx_eta_onlyvar
Definition TCCPlots.h:478
TH1 * m_trk_matching_deltar_onlyvar_pt
Definition TCCPlots.h:553
TH3 * m_jet_mopt_pt_response_eta_2leadings
Definition TCCPlots.h:244
TH1 * m_jet_response_add_eta_2leadings
Definition TCCPlots.h:145
TH2 * m_trk_z0_eta
Definition TCCPlots.h:280
TH1 * m_clusters_matchedFraction_eta
Definition TCCPlots.h:361
TH1 * m_clusters_all_neutral_eta
Definition TCCPlots.h:515
TH2 * m_jet_response_d2_pt
Definition TCCPlots.h:159
TH1 * m_jet_response_add_d2_2leadings
Definition TCCPlots.h:202
TH1 * m_clusters_abs_matched_pvx_eta_fix_and_var
Definition TCCPlots.h:481
const xAOD::TruthParticle * getTruthPtr(const xAOD::TrackParticle &trackParticle) const
Definition TCCPlots.h:667
TH1 * m_jet_d2_leading_massCut
Definition TCCPlots.h:193
TH1 * m_clusters_eta
Definition TCCPlots.h:358
TH2 * m_trk_perigeeUncPhi_eta
Definition TCCPlots.h:311
TH2 * m_jet_response_m_npv_subleading
Definition TCCPlots.h:157
TH1 * m_jet_m_subleading
Definition TCCPlots.h:112
TH2 * m_trk_delta_caloEntryPhi_caloEntryPhiCorr_eta
Definition TCCPlots.h:354
void setJetMassOverPtBinning(const std::vector< float > &bins)
Definition TCCPlots.cxx:537
TH1 * m_jet_m_2leadings
Definition TCCPlots.h:102
TH1 * m_jet_resolution_add_d2_subleading
Definition TCCPlots.h:229
TH1 * m_clusters_abs_matchedFraction_eta_var
Definition TCCPlots.h:428
TH1 * m_clusters_matchedpv0Fraction_eta_notvar
Definition TCCPlots.h:458
TH2 * m_jet_resolution_mopt_pt_d2_leading
Definition TCCPlots.h:270
TH1 * m_jet_pseudoresponse_notcalib_pt_subleading
Definition TCCPlots.h:184
TH1 * m_jet_response_phi_2leadings
Definition TCCPlots.h:130
TH1 * m_jet_resolution_add_d2_leading
Definition TCCPlots.h:228
TH2 * m_clusters_width_eta
Definition TCCPlots.h:364
TH1 * m_clusters_abs_matched_pv0_eta_none
Definition TCCPlots.h:451
TH2 * m_trk_caloEntryUncTheta_eta
Definition TCCPlots.h:295
TH1 * m_clusters_matched_pv0_eta_fix_or_var
Definition TCCPlots.h:435
TH1 * m_trk_notMatching_deltar_var_eta
Definition TCCPlots.h:534
TH1 * m_clusters_matchedFraction_eta_notfix
Definition TCCPlots.h:389
TH1 * m_clusters_abs_matched_pv0_eta_notfix
Definition TCCPlots.h:446
TH2 * m_trk_matching_deltar_and_clusters_eta
Definition TCCPlots.h:561
TH1 * m_trk_pv0_matchedFraction_eta_fix_and_var
Definition TCCPlots.h:615
TH1 * m_clusters_matchedpvxFraction_eta_notfix
Definition TCCPlots.h:494
TH2 * m_trk_perigeeUncTheta_eta
Definition TCCPlots.h:308
TH1 * m_jet_pseudoresponse_notcalib_pt_2leadings
Definition TCCPlots.h:182
TH1 * m_jet_resolution_d2_2leadings
Definition TCCPlots.h:222
TH1 * m_clusters_all_neutral_neutral_eta
Definition TCCPlots.h:521
void fillCluster(const xAOD::CaloCluster &cluster)
TH2 * m_jet_resolution_mopt_pt_eta_2leadings
Definition TCCPlots.h:265
void fillClusterEtaCut(const xAOD::CaloCluster &cluster)
std::vector< float > m_trackProdRadiusBins
Definition TCCPlots.h:94
TH3 * m_jet_mopt_pt_response_d2_subleading
Definition TCCPlots.h:250
TH1 * m_jet_d2_2leadings_massCut
Definition TCCPlots.h:192
TH1 * m_jet_response_pt
Definition TCCPlots.h:122
TH2 * m_trk_matching_deltar_fix_only_clusters_eta
Definition TCCPlots.h:564
TH1 * m_clusters_abs_eta
Definition TCCPlots.h:396
TH1 * m_jet_deltaR
Definition TCCPlots.h:117
TH2 * m_trk_perigeeUncPhi_prodRadius
Definition TCCPlots.h:323
TH1 * m_trk_pv0_matchedFraction_eta_fix_or_var
Definition TCCPlots.h:616
TH3 * m_jet_mopt_pt_response_phi_subleading
Definition TCCPlots.h:242
TH1 * m_trk_matching_deltar_onlyfix_eta
Definition TCCPlots.h:550
TH1 * m_tcc_eta
Definition TCCPlots.h:643
TH1 * m_clusters_etacut_eta
Definition TCCPlots.h:371
TH1 * m_clusters_abs_notMatched_energy
Definition TCCPlots.h:405
TH1 * m_trk_pv0_matching_deltar_onlyfix_eta
Definition TCCPlots.h:611
TH1 * m_clusters_matched_pv0_eta_onlyvar
Definition TCCPlots.h:440
TH2 * m_clusters_etacut_abs_width_eta
Definition TCCPlots.h:411
TH1 * m_trk_matchedFraction_eta_fix
Definition TCCPlots.h:573
TH2 * m_trk_caloEntryEtaOverEta_eta
Definition TCCPlots.h:290
TH2 * m_trk_matching_deltar_var_only_clusters_pt
Definition TCCPlots.h:569
TH1 * m_jet_pt_subleading
Definition TCCPlots.h:113
TH1 * m_clusters_matchedpvxFraction_eta_onlyfix
Definition TCCPlots.h:498
TH2 * m_jet_response_m_npv_leading
Definition TCCPlots.h:156
TH2 * m_trk_notMatching_deltar_var_caloEntryUncTot_eta
Definition TCCPlots.h:537
TH2 * m_trk_caloEntryUncTheta_pt
Definition TCCPlots.h:296
void fillMatching(const xAOD::TrackParticle &track)
TH1 * m_clusters_abs_matched_pvx_eta_none
Definition TCCPlots.h:489
TCCPlots(TCCPlotsBase *pParent, const std::string &dirName, const std::string &collection="")
Definition TCCPlots.cxx:11
TH1 * m_trk_matchedFraction_eta_none
Definition TCCPlots.h:579
static void make_median_add(TH2 *h2_response, TH1 *h1_resolution)
TH2 * m_trk_pv0_total_clusters_eta
Definition TCCPlots.h:595
TH1 * m_clusters_abs_notMatched_eta
Definition TCCPlots.h:398
TH1 * m_clusters_matched_pvx_eta_var
Definition TCCPlots.h:476
TH1 * m_trk_delta_perigeePhi_caloEntryPhi
Definition TCCPlots.h:331
TH1 * m_trk_matching_deltar_fix_eta
Definition TCCPlots.h:546
void fillTCCptCut(const xAOD::TrackCaloCluster &tcc)
TH2 * m_clusters_rejected_pt_fraction_e
Definition TCCPlots.h:513
TH1 * m_jet_resolution_d2_leading
Definition TCCPlots.h:223
TH2 * m_trk_matching_deltar_var_only_clusters_eta
Definition TCCPlots.h:567
TH2 * m_trk_perigeeUncTot_eta
Definition TCCPlots.h:313
TH1 * m_clusters_matchedFraction_eta_onlyfix
Definition TCCPlots.h:393
TH2 * m_jet_response_add_d2_pt
Definition TCCPlots.h:164
TH2 * m_jet_resolution_mopt_pt_phi
Definition TCCPlots.h:260
TH3 * m_jet_mopt_pt_response_eta_subleading
Definition TCCPlots.h:246
void setJetPtBinning(const std::vector< float > &bins)
Definition TCCPlots.cxx:533
TH1 * m_clusters_abs_matched_eta_notfix
Definition TCCPlots.h:418
TH1 * m_trk_total_pt
Definition TCCPlots.h:525
TH1 * m_trk_caloEntryPhi
Definition TCCPlots.h:297
TH1 * m_jet_resolution_m
Definition TCCPlots.h:206
TH1 * m_clusters_all_neutral_e
Definition TCCPlots.h:516
TH1 * m_clusters_abs_matchedpvxFraction_eta_onlyvar
Definition TCCPlots.h:506
TH1 * m_trk_matchedFraction_pt_none
Definition TCCPlots.h:588
std::string m_collectionType
Definition TCCPlots.h:88
TH1 * m_clusters_matched_pv0_eta_onlyfix
Definition TCCPlots.h:441
TH1 * m_clusters_abs_matchedFraction_eta_onlyfix
Definition TCCPlots.h:431
TH1 * m_trk_qOverP
Definition TCCPlots.h:278
TH3 * m_jet_mopt_pt_response_eta_leading
Definition TCCPlots.h:245
TH1 * m_clusters_etacut_abs_width
Definition TCCPlots.h:410
TH1 * m_jet_pseudoresponse_m_leading
Definition TCCPlots.h:175
TH1 * m_jet_response_eta_2leadings
Definition TCCPlots.h:129
TH1 * m_jet_pseudoresponse_notcalib_pt_leading
Definition TCCPlots.h:183
TH1 * m_trk_perigeeEta
Definition TCCPlots.h:305
TH1 * m_clusters_abs_matchedpvxFraction_eta_none
Definition TCCPlots.h:508
TH2 * m_clusters_abs_width_eta
Definition TCCPlots.h:402
TH1 * m_clusters_abs_width
Definition TCCPlots.h:401
TH2 * m_trk_notMatching_deltar_fix_caloEntryUncTot_pt
Definition TCCPlots.h:532
void fillPseudoResponseSubLeading(const xAOD::Jet &jet, const xAOD::Jet &calo)
TH1 * m_trk_notMatching_deltar_fix_pt
Definition TCCPlots.h:530
TH2 * m_trk_delta_trackPhi_caloEntryPhi_eta
Definition TCCPlots.h:340
TH2 * m_tcc_taste_eta_ptcut
Definition TCCPlots.h:650
void fillPseudoResponseLeading(const xAOD::Jet &jet, const xAOD::Jet &calo)
TH2 * m_trk_caloEntryUncTheta_prodRadius
Definition TCCPlots.h:326
TH2 * m_trk_total_clusters_eta
Definition TCCPlots.h:526
TH2 * m_jet_response_d2_pt_subleading
Definition TCCPlots.h:162
TH2 * m_trk_perigeeUncPhi_caloUncPhi
Definition TCCPlots.h:317
TH2 * m_trk_qOverP_eta
Definition TCCPlots.h:283
TH1 * m_clusters_abs_matchedpvxFraction_eta_fix_and_var
Definition TCCPlots.h:500
TH1 * m_jet_d2_2leadings
Definition TCCPlots.h:187
TH1 * m_trk_pv0_matchedFraction_pt_onlyfix
Definition TCCPlots.h:631
TH2 * m_trk_matching_deltar_or_clusters_phi
Definition TCCPlots.h:559
TH1 * m_jet_pseudoresponse_pt_subleading
Definition TCCPlots.h:179
TH1 * m_trk_prodRadius
Definition TCCPlots.h:320
TH1 * m_jet_resolution_add_d2
Definition TCCPlots.h:226
TH1 * m_trk_pv0_notMatching_deltar_none_pt
Definition TCCPlots.h:606
TH1 * m_clusters_abs_matched_eta_var
Definition TCCPlots.h:419
TH1 * m_trk_delta_trackEta_caloEntryEta
Definition TCCPlots.h:337
TH1 * m_trk_pv0_matching_deltar_var_pt
Definition TCCPlots.h:600
TH1 * m_clusters_matched_eta_var
Definition TCCPlots.h:381
TH1 * m_clusters_all_neutral_PV0_eta
Definition TCCPlots.h:517
void fillPerigeeInfoAllPt(const xAOD::TrackParticle &track)
TH3 * m_jet_mopt_pt_response_d2_leading
Definition TCCPlots.h:249
void fillResponseNoPtNoMassCutsLeading(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH1 * m_clusters_abs_notMatchedFraction_energy
Definition TCCPlots.h:407
float m_eventWeight
Definition TCCPlots.h:89
TH2 * m_jet_resolution_mopt_pt_phi_leading
Definition TCCPlots.h:262
TH2 * m_jet_resolution_mopt_pt_m_2leadings
Definition TCCPlots.h:253
TH2 * m_trk_caloEntryUncPhi_eta
Definition TCCPlots.h:301
TH2 * m_clusters_etacut_abs_width_energy
Definition TCCPlots.h:413
TH2 * m_jet_response_add_d2_pt_subleading
Definition TCCPlots.h:167
TH2 * m_jet_response_m_pt_2leadings
Definition TCCPlots.h:127
TH1 * m_clusters_matchedpvxFraction_eta_fix_or_var
Definition TCCPlots.h:492
TH1 * m_trk_delta_perigeeEta_caloEntryEta
Definition TCCPlots.h:330
void fillPerigeeVsCaloEntryAllPt(const xAOD::TrackParticle &track)
TH1 * m_tcc_pt_response
Definition TCCPlots.h:652
void fillResponseSubLeading(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH1 * m_jet_response_add_eta_subleading
Definition TCCPlots.h:147
TH1 * m_jet_response_pt_leading
Definition TCCPlots.h:134
TH2 * m_trk_delta_trackPhi_caloEntryPhi_pt
Definition TCCPlots.h:342
TH1 * m_clusters_matchedpvxFraction_eta_var
Definition TCCPlots.h:495
TH1 * m_trk_phi
Definition TCCPlots.h:277
std::vector< float > m_jetPtBins
Definition TCCPlots.h:91
TH2 * m_tcc_N_M
Definition TCCPlots.h:655
void fillResponseNoPtNoMassCuts(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH2 * m_tcc_taste_eta
Definition TCCPlots.h:649
TH1 * m_clusters_abs_matchedpv0Fraction_eta_var
Definition TCCPlots.h:466
TH1 * m_clusters_abs_matchedpvxFraction_eta_notvar
Definition TCCPlots.h:505
TH1 * m_jet_d2_subleading_massCut
Definition TCCPlots.h:194
TH1 * m_clusters_matchedFraction_eta_fix_or_var
Definition TCCPlots.h:387
TH1 * m_clusters_all_neutral_notPV0_e
Definition TCCPlots.h:520
TH1 * m_clusters_etacut_energy
Definition TCCPlots.h:374
void fillTCCetaCut(const xAOD::TrackCaloCluster &tcc)
TH1 * m_trk_pv0_matching_deltar_onlyfix_pt
Definition TCCPlots.h:612
TH3 * m_jet_mopt_pt_response_m
Definition TCCPlots.h:231
void fillCaloEntryInfo(const xAOD::TrackParticle &track)
TH1 * m_jet_m_leading
Definition TCCPlots.h:107
TH2 * m_jet_response_m_pt_subleading
Definition TCCPlots.h:139
TH2 * m_trk_caloEntryUncPhi_pt
Definition TCCPlots.h:302
static void make_median(TH2 *h2_response, TH1 *h1_resolution, TH1 *h1_median=nullptr)
TH2 * m_trk_qOverP_pt
Definition TCCPlots.h:288
TH1 * m_jet_response_m_subleading
Definition TCCPlots.h:138
TH1 * m_jet_d2_subleading
Definition TCCPlots.h:189
TH1 * m_jet_pseudoresponse_m_2leadings
Definition TCCPlots.h:172
TH1 * m_trk_pv0_notMatching_deltar_var_pt
Definition TCCPlots.h:604
TH2 * m_jet_resolution_mopt_pt_eta
Definition TCCPlots.h:264
TH1 * m_jet_resolution_add_d2_2leadings
Definition TCCPlots.h:227
TH2 * m_jet_resolution_mopt_pt_d2_2leadings
Definition TCCPlots.h:269
void fillResponseNoPtNoMassCutsSubLeading(const xAOD::Jet &jet, const xAOD::Jet &truth)
TH2 * m_clusters_PV0_pt_fraction_e
Definition TCCPlots.h:511
TH2 * m_trk_delta_perigeePhi_caloEntryPhi_pt
Definition TCCPlots.h:335
TH1 * m_trk_matching_deltar_fix_and_var_eta
Definition TCCPlots.h:556
TH1 * m_jet_resolution_d2
Definition TCCPlots.h:221
TH2 * m_trk_notMatching_deltar_var_caloEntryUncTot_pt
Definition TCCPlots.h:538
TH1 * m_clusters_abs_matchedpv0Fraction_eta_notfix
Definition TCCPlots.h:465
TH1 * m_trk_theta
Definition TCCPlots.h:276
TH1 * m_trk_pv0_notMatching_deltar_fix_pt
Definition TCCPlots.h:602
void setEventWeight(const float &weight)
Definition TCCPlots.cxx:529
TH3 * m_jet_mopt_pt_response_phi_leading
Definition TCCPlots.h:241
TH1 * m_clusters_matched_pvx_eta_onlyfix
Definition TCCPlots.h:479
TH1 * m_trk_matchedFraction_eta_onlyvar
Definition TCCPlots.h:577
TH1 * m_clusters_matched_eta_none
Definition TCCPlots.h:385
void fillResponseNPV(const xAOD::Jet &jet, const xAOD::Jet &truth, int NPV)
TH1 * m_jet_response_eta
Definition TCCPlots.h:123
TH1 * m_trk_pv0_matchedFraction_eta_none
Definition TCCPlots.h:623
TH1 * m_clusters_abs_matchedpvxFraction_eta_fix
Definition TCCPlots.h:502
TH1 * m_jet_response_d2_subleading
Definition TCCPlots.h:199
TH1 * m_jet_pseudoresponse_pt
Definition TCCPlots.h:170
TH1 * m_jet_phi_leading
Definition TCCPlots.h:110
TH1 * m_trk_matching_deltar_onlyvar_eta
Definition TCCPlots.h:552
TH1 * m_jet_resolution_m_subleading
Definition TCCPlots.h:209
std::vector< float > m_trackPtBins
Definition TCCPlots.h:93
TH1 * m_clusters_matchedpv0Fraction_eta_none
Definition TCCPlots.h:461
TH1 * m_trk_pv0_matchedFraction_eta_notfix
Definition TCCPlots.h:618
TH1 * m_clusters_energy
Definition TCCPlots.h:365
TH2 * m_trk_pv0_caloEntryUncTot_eta
Definition TCCPlots.h:592
TH1 * m_clusters_notMatched_energy
Definition TCCPlots.h:367
TH1 * m_trk_matchedFraction_eta_notvar
Definition TCCPlots.h:576
TH2 * m_trk_delta_trackEta_caloEntryEta_pt
Definition TCCPlots.h:341
TH1 * m_jet_response_d2_2leadings
Definition TCCPlots.h:197
TH2 * m_trk_delta_trackEta_caloEntryEtaCorr_eta
Definition TCCPlots.h:346
void fillSubLeading(const xAOD::Jet &jet)
TH1 * m_clusters_abs_matchedFraction_eta
Definition TCCPlots.h:399
TH1 * m_clusters_abs_matchedpv0Fraction_eta_fix_and_var
Definition TCCPlots.h:462
TH1 * m_trk_matchedFraction_pt_onlyfix
Definition TCCPlots.h:587
TH1 * m_clusters_matched_eta
Definition TCCPlots.h:359
void fill(const xAOD::JetContainer &jets)
TH1 * m_jet_pseudoresponse_notcalib_pt
Definition TCCPlots.h:181
TH2 * m_jet_response_add_d2_pt_2leadings
Definition TCCPlots.h:165
TH1 * m_clusters_abs_matchedpvxFraction_eta_onlyfix
Definition TCCPlots.h:507
TH1 * m_clusters_matchedpv0Fraction_eta_onlyfix
Definition TCCPlots.h:460
void fillMomentsLeading(const xAOD::Jet &jet)
TH1 * m_clusters_abs_matchedpvxFraction_eta_fix_or_var
Definition TCCPlots.h:501
TH1 * m_jet_response_phi_subleading
Definition TCCPlots.h:142
TH1 * m_trk_pv0_matching_deltar_var_eta
Definition TCCPlots.h:599
TH2 * m_trk_delta_perigeePhi_caloEntryPhi_eta
Definition TCCPlots.h:333
TH1 * m_clusters_abs_matchedpv0Fraction_eta_none
Definition TCCPlots.h:470
TH2 * m_trk_pv0_caloEntryUncTot_rFirstHit
Definition TCCPlots.h:638
TH2 * m_trk_matching_deltar_fix_only_clusters_pt
Definition TCCPlots.h:566
TH1 * m_clusters_abs_matchedpv0Fraction_eta_fix
Definition TCCPlots.h:464
TH1 * m_jet_response_pt_2leadings
Definition TCCPlots.h:128
TH1 * m_trk_matchedFraction_pt_fix_or_var
Definition TCCPlots.h:581
void fillMomentsSubLeading(const xAOD::Jet &jet)
TH2 * m_jet_response_add_d2_pt_leading
Definition TCCPlots.h:166
TH1 * m_clusters_all_neutral_notPV0_eta
Definition TCCPlots.h:519
TH1 * m_clusters_matchedpv0Fraction_eta_fix
Definition TCCPlots.h:455
TH2 * m_trk_tcc_reco_pt_truth_pt
Definition TCCPlots.h:658
TH1 * m_clusters_abs_matched_eta_fix_or_var
Definition TCCPlots.h:416
TH1 * m_clusters_abs_matched_eta_fix
Definition TCCPlots.h:417
TH1 * m_trk_pv0_matchedFraction_pt_onlyvar
Definition TCCPlots.h:630
TH1 * m_trk_pv0_matching_deltar_onlyvar_eta
Definition TCCPlots.h:613
TH2 * m_trk_caloEntryPhiOverPhi_eta
Definition TCCPlots.h:298
TH1 * m_jet_d2
Definition TCCPlots.h:186
TH1 * m_jet_d2_leading
Definition TCCPlots.h:188
TH1 * m_clusters_matched_eta_fix
Definition TCCPlots.h:379
TH2 * m_trk_theta_pt
Definition TCCPlots.h:286
TH2 * m_jet_resolution_mopt_pt_pt_leading
Definition TCCPlots.h:258
TH1 * m_jet_median_width_m_npv
Definition TCCPlots.h:216
TH1 * m_clusters_abs_matchedpv0Fraction_eta_fix_or_var
Definition TCCPlots.h:463
TH1 * m_jet_response_eta_subleading
Definition TCCPlots.h:141
TH1 * m_clusters_matchedpv0Fraction_eta_fix_or_var
Definition TCCPlots.h:454
TH1 * m_clusters_abs_matched_pv0_eta_onlyvar
Definition TCCPlots.h:449
TH2 * m_jet_response_m_pt_leading
Definition TCCPlots.h:133
TH1 * m_trk_pv0_matching_deltar_fix_eta
Definition TCCPlots.h:597
TH1 * m_clusters_matchedpv0Fraction_eta_onlyvar
Definition TCCPlots.h:459
TH1 * m_trk_matching_deltar_fix_or_var_eta
Definition TCCPlots.h:554
TH1 * m_clusters_etacut_abs_energy
Definition TCCPlots.h:412
TH1 * m_clusters_matched_pvx_eta_fix_or_var
Definition TCCPlots.h:473
TH3 * m_jet_mopt_pt_response_pt
Definition TCCPlots.h:235
TH1 * m_trk_pv0_matching_deltar_fix_pt
Definition TCCPlots.h:598
TH2 * m_trk_pv0_total_clusters_pt
Definition TCCPlots.h:596
TH2 * m_trk_pv0_caloEntryUncTot_nSiHits
Definition TCCPlots.h:637
TH2 * m_tcc_taste_pt_etacut
Definition TCCPlots.h:648
TH2 * m_trk_delta_trackEta_caloEntryEta_eta
Definition TCCPlots.h:339
TH1 * m_trk_total_eta
Definition TCCPlots.h:524
TH2 * m_trk_caloEntryUncEta_prodRadius
Definition TCCPlots.h:325
TH1 * m_clusters_matched_eta_fix_and_var
Definition TCCPlots.h:377
TH2 * m_trk_perigeeUncTheta_prodRadius
Definition TCCPlots.h:322
TH1 * m_trk_pv0_matching_deltar_fix_and_var_pt
Definition TCCPlots.h:608
TH1 * m_tcc_m
Definition TCCPlots.h:645
TH1 * m_clusters_abs_matchedpv0Fraction_eta_notvar
Definition TCCPlots.h:467
TH1 * m_trk_pv0_matchedFraction_eta_onlyvar
Definition TCCPlots.h:621
TH1 * m_jet_median_width_m_npv_2leadings
Definition TCCPlots.h:217
TH1 * m_trk_matchedFraction_pt_fix_and_var
Definition TCCPlots.h:580
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition Jet_v1.cxx:54
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition Jet_v1.cxx:71
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition Jet_v1.cxx:44
virtual double m() const
The invariant mass of the particle.
Definition Jet_v1.cxx:59
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition Jet_v1.cxx:49
virtual double m() const
The invariant mass of the particle..
virtual double phi() const
The azimuthal angle ( ) of the particle (has range to .)
virtual int taste() const
The taste of the particle.
virtual double pt() const
The transverse momentum ( ) of the particle.
virtual double eta() const
The pseudorapidity ( ) of the particle.
const std::vector< ElementLink< xAOD::CaloClusterContainer > > & caloClusterLinks() const
Returns a vector to the links (which can be invalid) to the xAOD::CaloClusters associated with this T...
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Jet_v1 Jet
Definition of the current "jet version".
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.
TrackCaloCluster_v1 TrackCaloCluster
Reference the current persistent version:
JetContainer_v1 JetContainer
Definition of the current "jet container version".
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].