65 typedef std::vector<double>
Vec;
725 tracks_time_token_(consumes<
edm::ValueMap<
float>>(ps.getParameter<
edm::
InputTag>(
"tracksTime"))),
726 tracks_time_quality_token_(consumes<
edm::ValueMap<
float>>(ps.getParameter<
edm::
InputTag>(
"tracksTimeQual"))),
727 tracks_time_err_token_(consumes<
edm::ValueMap<
float>>(ps.getParameter<
edm::
InputTag>(
"tracksTimeErr"))),
728 tracksters_merged_token_(
733 simTracksters_SC_token_(
735 simTracksters_CP_token_(
737 simTracksters_PU_token_(
739 simTICLCandidate_token_(
741 tsRecoToSimSC_token_(
743 tsSimToRecoSC_token_(
745 tsRecoToSimCP_token_(
747 tsSimToRecoCP_token_(
750 ps.getParameter<
edm::
InputTag>(
"MergerecoToSimAssociatorSC"))),
752 ps.getParameter<
edm::
InputTag>(
"MergesimToRecoAssociatorSC"))),
754 ps.getParameter<
edm::
InputTag>(
"MergerecoToSimAssociatorCP"))),
756 ps.getParameter<
edm::
InputTag>(
"MergesimToRecoAssociatorCP"))),
758 ps.getParameter<
edm::
InputTag>(
"MergerecoToSimAssociatorPU"))),
760 ps.getParameter<
edm::
InputTag>(
"MergesimToRecoAssociatorPU"))),
761 simclusters_token_(consumes(ps.getParameter<
edm::
InputTag>(
"simclusters"))),
762 caloparticles_token_(consumes(ps.getParameter<
edm::
InputTag>(
"caloparticles"))),
764 detector_(ps.getParameter<
std::
string>(
"detector")),
765 propName_(ps.getParameter<
std::
string>(
"propagator")),
769 saveLCs_(ps.getParameter<
bool>(
"saveLCs")),
770 saveCLUE3DTracksters_(ps.getParameter<
bool>(
"saveCLUE3DTracksters")),
771 saveTrackstersMerged_(ps.getParameter<
bool>(
"saveTrackstersMerged")),
772 saveSimTrackstersSC_(ps.getParameter<
bool>(
"saveSimTrackstersSC")),
773 saveSimTrackstersCP_(ps.getParameter<
bool>(
"saveSimTrackstersCP")),
774 saveTICLCandidate_(ps.getParameter<
bool>(
"saveSimTICLCandidate")),
775 saveSimTICLCandidate_(ps.getParameter<
bool>(
"saveSimTICLCandidate")),
776 saveTracks_(ps.getParameter<
bool>(
"saveTracks")),
777 saveAssociations_(ps.getParameter<
bool>(
"saveAssociations")) {
778 std::string detectorName_ = (
detector_ ==
"HFNose") ?
"HGCalHFNoseSensitive" :
"HGCalEESensitive";
780 esConsumes<HGCalDDDConstants, IdealGeometryRecord, edm::Transition::BeginRun>(
edm::ESInputTag(
"", detectorName_));
1102 std::pair<float, float> rMinMax =
hgcons_->
rangeR(zVal,
true);
1105 std::pair<float, float> rMinMax_interface =
hgcons_->
rangeR(zVal_interface,
true);
1107 for (
int iSide = 0; iSide < 2; ++iSide) {
1108 float zSide = (iSide == 0) ? (-1. * zVal) : zVal;
1115 zSide = (iSide == 0) ? (-1. * zVal_interface) : zVal_interface;
1119 SimpleDiskBounds(rMinMax_interface.first, rMinMax_interface.second, zSide - 0.5, zSide + 0.5))
1143 const auto& tracksters = *tracksters_handle;
1148 const auto&
clusters = *layer_clusters_h;
1152 const auto& layerClustersTimes = *clustersTime_h;
1157 const auto& ticlcandidates = *candidates_h;
1162 const auto&
tracks = *tracks_h;
1166 const auto& trackTime = *trackTime_h;
1170 const auto& trackTimeErr = *trackTimeErr_h;
1174 const auto& trackTimeQual = *trackTimeQual_h;
1179 const auto& trackstersmerged = *tracksters_merged_h;
1184 const auto& simTrackstersSC = *simTrackstersSC_h;
1189 const auto& simTrackstersCP = *simTrackstersCP_h;
1194 const auto& simTrackstersPU = *simTrackstersPU_h;
1198 const auto& simTICLCandidates = *simTICLCandidates_h;
1203 auto const& tsRecoSimSCMap = *tsRecoToSimSC_h;
1208 auto const& tsSimToRecoSCMap = *tsSimToRecoSC_h;
1213 auto const& tsRecoSimCPMap = *tsRecoToSimCP_h;
1218 auto const& tsSimToRecoCPMap = *tsSimToRecoCP_h;
1222 auto const& MergetsRecoSimSCMap = *mergetsRecoToSimSC_h;
1227 auto const& MergetsSimToRecoSCMap = *mergetsSimToRecoSC_h;
1232 auto const& MergetsRecoSimCPMap = *mergetsRecoToSimCP_h;
1237 auto const& MergetsSimToRecoCPMap = *mergetsSimToRecoCP_h;
1242 auto const& MergetsRecoSimPUMap = *mergetsRecoToSimPU_h;
1247 auto const& MergetsSimToRecoPUMap = *mergetsSimToRecoPU_h;
1258 for (
auto trackster_iterator = tracksters.begin(); trackster_iterator != tracksters.end(); ++trackster_iterator) {
1272 trackster_EV1.push_back(trackster_iterator->eigenvalues()[0]);
1273 trackster_EV2.push_back(trackster_iterator->eigenvalues()[1]);
1274 trackster_EV3.push_back(trackster_iterator->eigenvalues()[2]);
1281 std::vector<float> id_probs;
1282 for (
size_t i = 0;
i < 8;
i++)
1283 id_probs.push_back(trackster_iterator->id_probabilities(
i));
1287 std::vector<uint32_t> vertices_indexes;
1288 std::vector<float> vertices_x;
1289 std::vector<float> vertices_y;
1290 std::vector<float> vertices_z;
1291 std::vector<float> vertices_time;
1292 std::vector<float> vertices_timeErr;
1293 std::vector<float> vertices_energy;
1294 std::vector<float> vertices_correctedEnergy;
1295 std::vector<float> vertices_correctedEnergyUncertainty;
1296 for (
auto idx : trackster_iterator->vertices()) {
1297 vertices_indexes.push_back(
idx);
1298 auto associated_cluster = (*layer_clusters_h)[
idx];
1299 vertices_x.push_back(associated_cluster.x());
1300 vertices_y.push_back(associated_cluster.y());
1301 vertices_z.push_back(associated_cluster.z());
1302 vertices_energy.push_back(associated_cluster.energy());
1303 vertices_correctedEnergy.push_back(associated_cluster.correctedEnergy());
1304 vertices_correctedEnergyUncertainty.push_back(associated_cluster.correctedEnergyUncertainty());
1305 vertices_time.push_back(layerClustersTimes.get(
idx).first);
1306 vertices_timeErr.push_back(layerClustersTimes.get(
idx).second);
1319 std::vector<float> vertices_multiplicity;
1320 for (
auto multiplicity : trackster_iterator->vertex_multiplicity()) {
1321 vertices_multiplicity.push_back(multiplicity);
1327 using CaloObjectVariant = std::variant<CaloParticle, SimCluster>;
1328 for (
auto trackster_iterator = simTrackstersSC.begin(); trackster_iterator != simTrackstersSC.end();
1329 ++trackster_iterator) {
1354 CaloObjectVariant caloObj;
1355 if (trackster_iterator->seedID() == caloparticles_h.
id()) {
1358 caloObj =
simclusters[trackster_iterator->seedIndex()];
1361 auto const&
simTrack = std::visit([](
auto&&
obj) {
return obj.g4Tracks()[0]; }, caloObj);
1362 auto const& caloPt = std::visit([](
auto&&
obj) {
return obj.pt(); }, caloObj);
1383 auto const trackIdx = trackster_iterator->trackIdx();
1385 if (trackIdx != -1) {
1393 if (tsos.isValid()) {
1395 const auto& globalMom = tsos.globalMomentum();
1426 std::vector<float> id_probs;
1427 for (
size_t i = 0;
i < 8;
i++)
1428 id_probs.push_back(trackster_iterator->id_probabilities(
i));
1432 std::vector<uint32_t> vertices_indexes;
1433 std::vector<float> vertices_x;
1434 std::vector<float> vertices_y;
1435 std::vector<float> vertices_z;
1436 std::vector<float> vertices_time;
1437 std::vector<float> vertices_timeErr;
1438 std::vector<float> vertices_energy;
1439 std::vector<float> vertices_correctedEnergy;
1440 std::vector<float> vertices_correctedEnergyUncertainty;
1441 for (
auto idx : trackster_iterator->vertices()) {
1442 vertices_indexes.push_back(
idx);
1443 auto associated_cluster = (*layer_clusters_h)[
idx];
1444 vertices_x.push_back(associated_cluster.x());
1445 vertices_y.push_back(associated_cluster.y());
1446 vertices_z.push_back(associated_cluster.z());
1447 vertices_energy.push_back(associated_cluster.energy());
1448 vertices_correctedEnergy.push_back(associated_cluster.correctedEnergy());
1449 vertices_correctedEnergyUncertainty.push_back(associated_cluster.correctedEnergyUncertainty());
1450 vertices_time.push_back(layerClustersTimes.get(
idx).first);
1451 vertices_timeErr.push_back(layerClustersTimes.get(
idx).second);
1464 std::vector<float> vertices_multiplicity;
1465 for (
auto multiplicity : trackster_iterator->vertex_multiplicity()) {
1466 vertices_multiplicity.push_back(multiplicity);
1473 for (
auto trackster_iterator = simTrackstersCP.begin(); trackster_iterator != simTrackstersCP.end();
1474 ++trackster_iterator) {
1498 CaloObjectVariant caloObj;
1499 if (trackster_iterator->seedID() == caloparticles_h.
id()) {
1502 caloObj =
simclusters[trackster_iterator->seedIndex()];
1505 auto const&
simTrack = std::visit([](
auto&&
obj) {
return obj.g4Tracks()[0]; }, caloObj);
1506 auto const& caloPt = std::visit([](
auto&&
obj) {
return obj.pt(); }, caloObj);
1528 auto const trackIdx = trackster_iterator->trackIdx();
1530 if (trackIdx != -1) {
1538 if (tsos.isValid()) {
1540 const auto& globalMom = tsos.globalMomentum();
1570 std::vector<float> id_probs;
1571 for (
size_t i = 0;
i < 8;
i++)
1572 id_probs.push_back(trackster_iterator->id_probabilities(
i));
1576 std::vector<uint32_t> vertices_indexes;
1577 std::vector<float> vertices_x;
1578 std::vector<float> vertices_y;
1579 std::vector<float> vertices_z;
1580 std::vector<float> vertices_time;
1581 std::vector<float> vertices_timeErr;
1582 std::vector<float> vertices_energy;
1583 std::vector<float> vertices_correctedEnergy;
1584 std::vector<float> vertices_correctedEnergyUncertainty;
1585 for (
auto idx : trackster_iterator->vertices()) {
1586 vertices_indexes.push_back(
idx);
1587 auto associated_cluster = (*layer_clusters_h)[
idx];
1588 vertices_x.push_back(associated_cluster.x());
1589 vertices_y.push_back(associated_cluster.y());
1590 vertices_z.push_back(associated_cluster.z());
1591 vertices_energy.push_back(associated_cluster.energy());
1592 vertices_correctedEnergy.push_back(associated_cluster.correctedEnergy());
1593 vertices_correctedEnergyUncertainty.push_back(associated_cluster.correctedEnergyUncertainty());
1594 vertices_time.push_back(layerClustersTimes.get(
idx).first);
1595 vertices_timeErr.push_back(layerClustersTimes.get(
idx).second);
1608 std::vector<float> vertices_multiplicity;
1609 for (
auto multiplicity : trackster_iterator->vertex_multiplicity()) {
1610 vertices_multiplicity.push_back(multiplicity);
1616 for (
size_t i = 0;
i < simTICLCandidates.size(); ++
i) {
1617 auto const&
cand = simTICLCandidates[
i];
1623 std::vector<int> tmpIdxVec;
1624 for (
auto const& simTS :
cand.tracksters()) {
1626 tmpIdxVec.push_back(trackster_idx);
1630 auto const& trackPtr =
cand.trackPtr();
1631 if (!trackPtr.isNull()) {
1632 auto const&
track = *trackPtr;
1640 if (tsos.isValid()) {
1642 const auto& globalMom = tsos.globalMomentum();
1675 for (
auto cluster_iterator =
clusters.begin(); cluster_iterator !=
clusters.end(); ++cluster_iterator) {
1676 auto lc_seed = cluster_iterator->seed();
1686 auto haf = cluster_iterator->hitsAndFractions();
1689 uint32_t number_of_hits = cluster_iterator->hitsAndFractions().size();
1693 cluster_time.push_back(layerClustersTimes.get(c_id).first);
1700 for (
int i = 0; i < static_cast<int>(ticlcandidates.size()); ++
i) {
1701 const auto& candidate = ticlcandidates[
i];
1710 std::vector<float> id_probs;
1711 for (
int j = 0;
j < 8;
j++) {
1713 id_probs.push_back(candidate.id_probability(
type));
1717 auto trackster_ptrs = candidate.tracksters();
1718 auto track_ptr = candidate.trackPtr();
1719 for (
const auto& ts_ptr : trackster_ptrs) {
1723 if (track_ptr.isNull())
1730 for (
auto trackster_iterator = trackstersmerged.begin(); trackster_iterator != trackstersmerged.end();
1731 ++trackster_iterator) {
1754 std::vector<float> id_probs;
1755 for (
size_t i = 0;
i < 8;
i++)
1756 id_probs.push_back(trackster_iterator->id_probabilities(
i));
1759 std::vector<uint32_t> vertices_indexes;
1760 std::vector<float> vertices_x;
1761 std::vector<float> vertices_y;
1762 std::vector<float> vertices_z;
1763 std::vector<float> vertices_time;
1764 std::vector<float> vertices_timeErr;
1765 std::vector<float> vertices_energy;
1766 std::vector<float> vertices_correctedEnergy;
1767 std::vector<float> vertices_correctedEnergyUncertainty;
1768 for (
auto idx : trackster_iterator->vertices()) {
1769 vertices_indexes.push_back(
idx);
1770 auto associated_cluster = (*layer_clusters_h)[
idx];
1771 vertices_x.push_back(associated_cluster.x());
1772 vertices_y.push_back(associated_cluster.y());
1773 vertices_z.push_back(associated_cluster.z());
1774 vertices_energy.push_back(associated_cluster.energy());
1775 vertices_correctedEnergy.push_back(associated_cluster.correctedEnergy());
1776 vertices_correctedEnergyUncertainty.push_back(associated_cluster.correctedEnergyUncertainty());
1777 vertices_time.push_back(layerClustersTimes.get(
idx).first);
1778 vertices_timeErr.push_back(layerClustersTimes.get(
idx).second);
1795 for (
size_t i = 0;
i < tracksters.size(); ++
i) {
1799 const auto stsSC_iter = tsRecoSimSCMap.find(tsRef);
1800 if (stsSC_iter != tsRecoSimSCMap.end()) {
1801 const auto& stsSCassociated = stsSC_iter->val;
1802 for (
auto& sts : stsSCassociated) {
1820 const auto ts_iter = tsSimToRecoSCMap.find(stsSCRef);
1821 if (ts_iter != tsSimToRecoSCMap.end()) {
1822 const auto& tsAssociated = ts_iter->val;
1823 for (
auto& ts : tsAssociated) {
1836 for (
size_t i = 0;
i < tracksters.size(); ++
i) {
1840 const auto stsCP_iter = tsRecoSimCPMap.find(tsRef);
1841 if (stsCP_iter != tsRecoSimCPMap.end()) {
1842 const auto& stsCPassociated = stsCP_iter->val;
1843 for (
auto& sts : stsCPassociated) {
1861 const auto ts_iter = tsSimToRecoCPMap.find(stsCPRef);
1862 if (ts_iter != tsSimToRecoCPMap.end()) {
1863 const auto& tsAssociated = ts_iter->val;
1864 for (
auto& ts : tsAssociated) {
1877 for (
size_t i = 0;
i < trackstersmerged.size(); ++
i) {
1881 const auto stsSC_iter = MergetsRecoSimSCMap.find(tsRef);
1882 if (stsSC_iter != MergetsRecoSimSCMap.end()) {
1883 const auto& stsSCassociated = stsSC_iter->val;
1884 for (
auto& sts : stsSCassociated) {
1902 const auto ts_iter = MergetsSimToRecoSCMap.find(stsSCRef);
1903 if (ts_iter != MergetsSimToRecoSCMap.end()) {
1904 const auto& tsAssociated = ts_iter->val;
1905 for (
auto& ts : tsAssociated) {
1918 for (
size_t i = 0;
i < trackstersmerged.size(); ++
i) {
1922 const auto stsCP_iter = MergetsRecoSimCPMap.find(tsRef);
1923 if (stsCP_iter != MergetsRecoSimCPMap.end()) {
1924 const auto& stsCPassociated = stsCP_iter->val;
1925 for (
auto& sts : stsCPassociated) {
1938 for (
size_t i = 0;
i < trackstersmerged.size(); ++
i) {
1942 const auto stsPU_iter = MergetsRecoSimPUMap.find(tsRef);
1943 if (stsPU_iter != MergetsRecoSimPUMap.end()) {
1944 const auto& stsPUassociated = stsPU_iter->val;
1945 for (
auto& sts : stsPUassociated) {
1963 const auto ts_iter = MergetsSimToRecoCPMap.find(stsCPRef);
1964 if (ts_iter != MergetsSimToRecoCPMap.end()) {
1965 const auto& tsAssociated = ts_iter->val;
1966 for (
auto& ts : tsAssociated) {
1976 auto nsimTrackstersPU = simTrackstersPU.size();
1980 for (
size_t i = 0;
i < nsimTrackstersPU; ++
i) {
1984 const auto ts_iter = MergetsSimToRecoPUMap.find(stsPURef);
1985 if (ts_iter != MergetsSimToRecoPUMap.end()) {
1986 const auto& tsAssociated = ts_iter->val;
1987 for (
auto& ts : tsAssociated) {
1997 for (
size_t i = 0;
i <
tracks.size();
i++) {
2004 if (tsos.isValid()) {
2006 const auto& globalMom = tsos.globalMomentum();
2066 edm::InputTag(
"tracksterSimTracksterAssociationPRbyCLUE3D",
"recoToSim"));
2068 edm::InputTag(
"tracksterSimTracksterAssociationPRbyCLUE3D",
"simToReco"));
2070 edm::InputTag(
"tracksterSimTracksterAssociationLinkingbyCLUE3D",
"recoToSim"));
2072 edm::InputTag(
"tracksterSimTracksterAssociationLinkingbyCLUE3D",
"simToReco"));
2074 edm::InputTag(
"tracksterSimTracksterAssociationPR",
"recoToSim"));
2076 edm::InputTag(
"tracksterSimTracksterAssociationPR",
"simToReco"));
2078 edm::InputTag(
"tracksterSimTracksterAssociationLinking",
"recoToSim"));
2080 edm::InputTag(
"tracksterSimTracksterAssociationLinking",
"simToReco"));
2082 edm::InputTag(
"tracksterSimTracksterAssociationLinkingPU",
"recoToSim"));
2084 edm::InputTag(
"tracksterSimTracksterAssociationLinkingPU",
"simToReco"));
2090 desc.add<
bool>(
"saveLCs",
true);
2091 desc.add<
bool>(
"saveCLUE3DTracksters",
true);
2092 desc.add<
bool>(
"saveTrackstersMerged",
true);
2093 desc.add<
bool>(
"saveSimTrackstersSC",
true);
2094 desc.add<
bool>(
"saveSimTrackstersCP",
true);
2095 desc.add<
bool>(
"saveTICLCandidate",
true);
2096 desc.add<
bool>(
"saveSimTICLCandidate",
true);
2097 desc.add<
bool>(
"saveTracks",
true);
2098 desc.add<
bool>(
"saveAssociations",
true);
2099 descriptions.
add(
"ticlDumper",
desc);
std::vector< float > stsSC_trackster_time
TTree * simtrackstersSC_tree_
std::vector< std::vector< float > > MergeTracksters_recoToSim_PU_score
std::vector< float > stsCP_trackster_EV3
double waferZ(int layer, bool reco) const
std::vector< float > stsSC_trackster_sigmaPCA1
const edm::EDGetTokenT< std::vector< ticl::Trackster > > simTracksters_PU_token_
std::vector< float > stsSC_trackster_barycenter_x
std::vector< float > stsCP_trackster_eVector0_x
std::vector< float > cluster_timeErr
static DiskPointer build(Args &&... args)
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_eta_token_
std::vector< std::vector< float > > MergeTracksters_simToReco_PU_score
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometry_token_
std::vector< float > cluster_position_x
std::vector< float > stsCP_track_boundaryPx
std::vector< int > simTICLCandidate_charge
std::vector< std::vector< float > > stsSC_trackster_vertices_correctedEnergy
std::vector< std::vector< float > > tracksters_merged_vertices_energy
std::vector< float > stsCP_trackster_eVector0_z
std::vector< float > stsCP_trackster_barycenter_eta
std::vector< float > stsSC_track_boundaryPz
std::vector< float > trackster_EV1
std::vector< double > candidate_py
std::vector< float > stsSC_boundaryPx
std::vector< float > tracksters_merged_eVector0_x
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_py_token_
std::vector< float > trackster_sigmaPCA1
bool saveTrackstersMerged_
std::vector< float > trackster_barycenter_y
unsigned int stsCP_ntracksters_
const edm::EDGetTokenT< hgcal::SimToRecoCollectionSimTracksters > MergeSimToRecoCP_token_
std::vector< float > simTICLCandidate_raw_energy
void endRun(edm::Run const &iEvent, edm::EventSetup const &) override
std::vector< float > stsSC_trackster_barycenter_y
TTree * simtrackstersCP_tree_
std::vector< std::vector< float > > trackster_vertices_correctedEnergyUncertainty
std::vector< std::vector< float > > trackster_vertices_multiplicity
std::vector< float > stsSC_boundaryX
std::vector< float > stsSC_track_boundaryPhi
std::vector< float > stsSC_trackster_timeError
std::vector< std::vector< float > > trackster_vertices_y
bool saveSimTrackstersSC_
std::vector< float > stsCP_boundaryY
std::vector< std::vector< uint32_t > > tracksters_in_candidate
std::vector< float > cluster_position_y
std::vector< int > stsSC_pdgID
std::vector< float > stsCP_boundaryX
std::vector< std::vector< float > > stsCP_trackster_vertices_time
std::vector< float > cluster_correctedEnergy
std::vector< float > stsSC_trackster_regressed_pt
std::vector< float > trackster_raw_pt
std::vector< float > trackster_eVector0_z
std::vector< uint32_t > cluster_seedID
const edm::EDGetTokenT< hgcal::SimToRecoCollectionSimTracksters > tsSimToRecoCP_token_
std::vector< std::vector< uint32_t > > MergeTracksters_recoToSim_SC
std::vector< double > Vec
std::vector< std::vector< float > > MergeTracksters_simToReco_SC_sharedE
std::vector< float > cluster_position_z
std::vector< std::vector< float > > stsSC_trackster_vertices_z
std::vector< int > track_quality
std::vector< float > stsSC_trackster_eVector0_z
std::vector< float > track_hgcal_y
std::vector< std::vector< float > > MergeTracksters_recoToSim_SC_score
std::vector< std::vector< uint32_t > > stsSC_trackster_vertices_indexes
std::vector< unsigned int > track_id
const edm::EDGetTokenT< std::vector< TICLCandidate > > ticl_candidates_token_
std::vector< float > stsCP_trackster_barycenter_phi
std::vector< float > tracksters_merged_sigmaPCA3
std::vector< float > simTICLCandidate_boundaryY
std::vector< std::vector< float > > trackster_vertices_energy
std::vector< float > trackster_raw_em_energy
const edm::EDGetTokenT< std::vector< ticl::Trackster > > simTracksters_SC_token_
std::vector< std::vector< uint32_t > > trackstersCLUE3D_simToReco_CP
const edm::EDGetTokenT< edm::ValueMap< float > > tracks_time_quality_token_
std::vector< std::vector< float > > trackster_vertices_time
std::vector< float > stsSC_boundaryPz
std::vector< std::vector< float > > trackster_vertices_z
std::vector< float > stsCP_trackster_EV1
const HGCalDDDConstants * hgcons_
std::vector< float > cluster_energy
const edm::ESGetToken< Propagator, TrackingComponentsRecord > propagator_token_
std::vector< std::vector< float > > MergeTracksters_recoToSim_CP_sharedE
std::vector< int > candidate_charge
std::vector< float > track_hgcal_pz
std::vector< float > trackster_barycenter_x
std::unique_ptr< GeomDet > interfaceDisk_[2]
std::vector< std::vector< float > > stsSC_trackster_vertices_time
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
unsigned int stsSC_ntracksters_
std::vector< std::vector< float > > trackster_id_probabilities
std::vector< float > stsCP_trackTime
std::vector< float > stsCP_boundaryEta
std::vector< std::vector< float > > tracksters_merged_vertices_z
std::vector< std::vector< float > > stsCP_trackster_vertices_timeErr
std::vector< std::vector< uint32_t > > MergeTracksters_recoToSim_PU
std::vector< float > candidate_time
std::vector< float > stsSC_trackster_raw_pt
bool saveSimTrackstersCP_
std::vector< std::vector< uint32_t > > trackstersCLUE3D_recoToSim_SC
std::vector< float > tracksters_merged_time
std::vector< float > stsCP_boundaryPz
std::vector< float > tracksters_merged_sigmaPCA2
std::vector< float > track_hgcal_px
std::vector< std::vector< float > > MergeTracksters_recoToSim_SC_sharedE
std::vector< unsigned int > cluster_layer_id
std::vector< float > candidate_energy
std::vector< float > tracksters_merged_barycenter_phi
std::vector< int > track_charge
std::vector< float > stsSC_boundaryPhi
std::vector< float > tracksters_merged_eVector0_z
std::vector< float > stsCP_track_boundaryPy
std::vector< float > tracksters_merged_raw_pt
std::vector< float > tracksters_merged_raw_em_energy
std::vector< int > simTICLCandidate_track_in_candidate
std::vector< float > track_hgcal_eta
std::vector< float > tracksters_merged_raw_em_pt
std::vector< float > stsSC_track_boundaryPx
std::vector< int > cluster_type
std::vector< std::vector< float > > tracksters_merged_vertices_multiplicity
std::vector< std::vector< uint32_t > > stsCP_trackster_vertices_indexes
const edm::EDGetTokenT< std::vector< CaloParticle > > caloparticles_token_
std::vector< float > trackster_barycenter_z
std::vector< float > stsCP_trackster_sigmaPCA1
const edm::EDGetTokenT< edm::ValueMap< float > > tracks_time_token_
T const * product() const
std::vector< std::vector< float > > stsCP_trackster_vertices_y
std::vector< float > simTICLCandidate_boundaryZ
std::vector< float > stsCP_trackster_barycenter_z
const edm::EDGetTokenT< std::vector< ticl::Trackster > > tracksters_token_
GlobalPoint globalPosition() const
std::vector< std::vector< uint32_t > > MergeTracksters_simToReco_PU
std::vector< float > track_hgcal_z
std::vector< std::vector< float > > trackstersCLUE3D_simToReco_SC_sharedE
std::vector< std::vector< float > > stsCP_trackster_vertices_correctedEnergyUncertainty
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< float > stsCP_boundaryZ
std::vector< float > stsCP_track_boundaryPhi
std::vector< std::vector< float > > stsCP_trackster_vertices_z
std::vector< int > track_missing_outer_hits
const edm::EDGetTokenT< hgcal::RecoToSimCollectionSimTracksters > MergeRecoToSimPU_token_
const edm::EDGetTokenT< hgcal::SimToRecoCollectionSimTracksters > tsSimToRecoSC_token_
std::vector< float > stsSC_trackster_raw_em_energy
std::vector< float > tracksters_merged_barycenter_eta
std::vector< float > stsSC_track_boundaryX
std::vector< std::vector< float > > MergeTracksters_recoToSim_CP_score
const edm::EDGetTokenT< hgcal::SimToRecoCollectionSimTracksters > MergeSimToRecoPU_token_
std::vector< float > tracksters_merged_barycenter_y
std::vector< float > track_hgcal_phi
std::vector< std::vector< float > > tracksters_merged_vertices_timeErr
std::vector< float > cluster_time
std::vector< float > simTICLCandidate_boundaryPy
std::vector< double > track_time
TTree * tracksters_merged_tree_
std::vector< double > candidate_pz
std::vector< std::vector< float > > stsSC_trackster_vertices_y
std::vector< std::vector< float > > MergeTracksters_simToReco_CP_sharedE
TTree * associations_tree_
std::vector< float > trackster_barycenter_phi
std::vector< float > stsCP_trackster_timeError
std::vector< std::vector< float > > tracksters_merged_vertices_correctedEnergyUncertainty
std::vector< std::vector< float > > trackstersCLUE3D_recoToSim_SC_sharedE
std::vector< float > stsSC_trackTime
std::vector< std::vector< float > > stsCP_trackster_id_probabilities
std::vector< float > stsSC_track_boundaryZ
std::vector< float > trackster_sigmaPCA2
std::vector< float > simTICLCandidate_trackTime
std::vector< float > tracksters_merged_sigmaPCA1
std::vector< std::vector< float > > MergeTracksters_recoToSim_PU_sharedE
#define DEFINE_FWK_MODULE(type)
edm::ESHandle< Propagator > propagator_
std::vector< float > simTICLCandidate_boundaryPx
std::vector< float > stsSC_trackster_raw_energy
std::vector< float > simTICLCandidate_boundaryX
std::vector< double > candidate_px
std::vector< float > stsCP_trackster_EV2
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_x_token_
std::vector< float > tracksters_merged_EV1
std::vector< float > tracksters_merged_timeError
std::vector< float > stsSC_trackster_EV3
std::vector< float > stsCP_track_boundaryZ
std::vector< std::vector< uint32_t > > trackster_vertices_indexes
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_z_token_
std::vector< float > track_hgcal_pt
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
const edm::EDGetTokenT< hgcal::RecoToSimCollectionSimTracksters > MergeRecoToSimSC_token_
std::vector< int > simTICLCandidate_pdgId
TICLDumper(const edm::ParameterSet &)
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_px_token_
std::vector< std::vector< float > > stsSC_trackster_vertices_x
std::vector< float > stsCP_boundaryPhi
std::vector< float > trackster_raw_em_pt
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< float > stsSC_track_boundaryPy
std::vector< std::vector< uint32_t > > MergeTracksters_simToReco_SC
std::vector< float > stsSC_boundaryPy
std::vector< float > stsCP_trackster_time
std::vector< std::vector< float > > trackstersCLUE3D_recoToSim_CP_sharedE
std::vector< float > track_time_quality
const std::string propName_
std::pair< double, double > rangeR(double z, bool reco) const
std::vector< float > tracksters_merged_regressed_energy
std::vector< std::vector< float > > tracksters_merged_vertices_y
std::vector< float > trackster_eVector0_x
std::vector< float > trackster_eVector0_y
std::vector< float > trackster_EV3
std::vector< float > stsSC_trackster_barycenter_eta
std::vector< float > trackster_time
std::vector< std::vector< float > > stsCP_trackster_vertices_correctedEnergy
std::vector< float > simTICLCandidate_regressed_energy
const edm::EDGetTokenT< hgcal::SimToRecoCollectionSimTracksters > MergeSimToRecoSC_token_
std::vector< std::vector< float > > trackstersCLUE3D_simToReco_CP_score
const edm::EDGetTokenT< hgcal::RecoToSimCollectionSimTracksters > MergeRecoToSimCP_token_
std::vector< std::vector< float > > tracksters_merged_vertices_time
const edm::EDGetTokenT< std::vector< bool > > tracks_mask_token_
std::vector< std::vector< float > > stsSC_trackster_vertices_correctedEnergyUncertainty
std::vector< float > simTICLCandidate_caloParticleMass
std::vector< float > stsSC_trackster_barycenter_z
std::vector< std::vector< float > > stsSC_trackster_vertices_energy
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< float > stsSC_track_boundaryY
std::vector< std::vector< float > > trackstersCLUE3D_simToReco_SC_score
const edm::EDGetTokenT< std::vector< int > > tracksterSeeds_token_
std::vector< std::vector< float > > tracksters_merged_id_probabilities
void beginRun(const edm::Run &, const edm::EventSetup &) override
edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > hdc_token_
std::vector< float > stsCP_trackster_sigmaPCA3
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_y_token_
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
std::vector< float > tracksters_merged_EV2
std::vector< std::vector< uint32_t > > MergeTracksters_recoToSim_CP
std::vector< float > stsSC_trackster_sigmaPCA3
const edm::EDGetTokenT< std::vector< ticl::Trackster > > simTracksters_CP_token_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< std::vector< float > > stsSC_trackster_vertices_multiplicity
std::vector< float > stsSC_boundaryZ
std::vector< std::vector< float > > stsSC_trackster_id_probabilities
std::vector< float > stsSC_trackster_EV1
std::vector< float > cluster_position_eta
const edm::EDGetTokenT< std::vector< ticl::Trackster > > tracksters_merged_token_
hgcal::RecHitTools rhtools_
std::vector< float > track_pt
std::vector< std::vector< float > > candidate_id_probabilities
std::vector< float > trackster_barycenter_eta
std::vector< float > stsCP_trackster_regressed_energy
std::vector< float > stsCP_trackster_sigmaPCA2
std::vector< float > stsCP_track_boundaryPz
std::vector< std::vector< float > > MergeTracksters_simToReco_PU_sharedE
std::vector< float > stsSC_trackster_regressed_energy
std::vector< std::vector< uint32_t > > MergeTracksters_simToReco_CP
std::vector< std::vector< int > > simTICLCandidate_simTracksterCPIndex
std::vector< float > tracksters_merged_EV3
std::vector< float > track_hgcal_py
bool saveSimTICLCandidate_
std::vector< int > track_in_candidate
std::vector< float > track_time_err
std::vector< std::vector< float > > trackster_vertices_correctedEnergy
std::vector< std::vector< uint32_t > > trackstersCLUE3D_simToReco_SC
std::vector< float > stsSC_trackster_raw_em_pt
std::vector< std::vector< float > > trackstersCLUE3D_recoToSim_SC_score
std::vector< float > trackster_sigmaPCA3
std::vector< int > stsCP_trackIdx
std::vector< float > cluster_correctedEnergyUncertainty
std::vector< float > stsCP_trackster_barycenter_x
std::vector< int > candidate_pdgId
std::unique_ptr< GeomDet > firstDisk_[2]
std::vector< float > stsCP_trackster_regressed_pt
std::vector< std::vector< float > > MergeTracksters_simToReco_CP_score
std::vector< float > stsCP_trackster_raw_em_energy
std::vector< int > stsCP_pdgID
std::vector< float > simTICLCandidate_trackBeta
std::vector< float > stsCP_track_boundaryX
std::vector< std::vector< float > > stsCP_trackster_vertices_x
std::vector< std::vector< float > > MergeTracksters_simToReco_SC_score
const edm::EDGetTokenT< edm::ValueMap< std::pair< float, float > > > clustersTime_token_
const edm::EDGetTokenT< edm::ValueMap< float > > tracks_time_err_token_
std::vector< float > trackster_regressed_energy
std::vector< std::vector< uint32_t > > tracksters_merged_vertices_indexes
std::vector< std::vector< uint32_t > > trackstersCLUE3D_recoToSim_CP
std::vector< std::vector< float > > trackstersCLUE3D_simToReco_CP_sharedE
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_phi_token_
std::vector< int > track_nhits
const edm::EDGetTokenT< std::vector< TICLCandidate > > simTICLCandidate_token_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > bfield_token_
std::vector< std::vector< float > > trackster_vertices_x
std::vector< float > track_hgcal_x
std::vector< float > stsSC_boundaryY
std::vector< float > stsCP_trackster_barycenter_y
std::vector< float > stsCP_boundaryPx
std::vector< float > stsSC_trackster_eVector0_x
std::vector< float > stsCP_trackster_raw_energy
std::vector< float > tracksters_merged_raw_energy
std::vector< float > stsSC_track_boundaryEta
const edm::EDGetTokenT< hgcal::RecoToSimCollectionSimTracksters > tsRecoToSimSC_token_
edm::AssociationMap< edm::OneToManyWithQualityGeneric< ticl::TracksterCollection, ticl::TracksterCollection, std::pair< float, float > > > RecoToSimCollectionSimTracksters
std::vector< uint32_t > cluster_number_of_hits
std::vector< std::vector< float > > trackstersCLUE3D_recoToSim_CP_score
TTree * simTICLCandidate_tree
std::vector< std::vector< float > > trackster_vertices_timeErr
std::vector< float > stsCP_trackster_raw_em_pt
void initialize(const HGCalDDDConstants *hgcons, const hgcal::RecHitTools rhtools, const edm::ESHandle< MagneticField > bfieldH, const edm::ESHandle< Propagator > propH)
std::vector< float > stsCP_trackster_eVector0_y
const edm::EDGetTokenT< std::vector< reco::CaloCluster > > layer_clusters_token_
std::vector< float > stsSC_trackster_EV2
std::vector< float > candidate_time_err
std::vector< float > trackster_raw_energy
std::vector< float > stsSC_trackster_eVector0_y
std::vector< float > trackster_EV2
std::vector< float > tracksters_merged_eVector0_y
std::vector< std::vector< float > > stsCP_trackster_vertices_multiplicity
const edm::EDGetTokenT< std::vector< double > > hgcaltracks_pz_token_
std::vector< std::vector< float > > stsSC_trackster_vertices_timeErr
std::vector< float > stsSC_trackster_barycenter_phi
std::vector< std::vector< float > > stsCP_trackster_vertices_energy
std::vector< float > tracksters_merged_barycenter_z
unsigned int ntracksters_
const edm::EDGetTokenT< std::vector< reco::Track > > tracks_token_
edm::AssociationMap< edm::OneToManyWithQualityGeneric< ticl::TracksterCollection, ticl::TracksterCollection, std::pair< float, float > > > SimToRecoCollectionSimTracksters
std::vector< float > trackster_timeError
std::vector< std::vector< float > > tracksters_merged_vertices_x
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometry_token_
const edm::EDGetTokenT< hgcal::RecoToSimCollectionSimTracksters > tsRecoToSimCP_token_
edm::ESHandle< MagneticField > bfield_
std::vector< float > stsCP_track_boundaryY
std::vector< float > stsCP_boundaryPy
std::vector< float > tracksters_merged_barycenter_x
std::vector< float > stsSC_boundaryEta
bool saveCLUE3DTracksters_
std::vector< int > stsSC_trackIdx
std::vector< float > cluster_position_phi
std::vector< float > stsCP_track_boundaryEta
std::vector< float > stsSC_trackster_sigmaPCA2
const edm::EDGetTokenT< std::vector< SimCluster > > simclusters_token_
const std::string detector_
std::vector< float > stsCP_trackster_raw_pt
std::vector< std::vector< float > > tracksters_merged_vertices_correctedEnergy
std::vector< float > simTICLCandidate_boundaryPz