|
|
|
void | beginRun (edm::Run const &iEvent, edm::EventSetup const &) override |
|
void | endRun (edm::Run const &iEvent, edm::EventSetup const &) override |
|
| PFAnalysis () |
|
| PFAnalysis (const edm::ParameterSet &) |
|
| ~PFAnalysis () override |
|
| EDAnalyzer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDAnalyzerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Definition at line 108 of file PFAnalysisNtuplizer.cc.
◆ Point
◆ PFAnalysis() [1/2]
PFAnalysis::PFAnalysis |
( |
| ) |
|
◆ PFAnalysis() [2/2]
◆ ~PFAnalysis()
PFAnalysis::~PFAnalysis |
( |
| ) |
|
|
override |
◆ analyze()
Implements edm::one::EDAnalyzerBase.
Definition at line 558 of file PFAnalysisNtuplizer.cc.
578 const auto recotosim = *recotosimCollection;
586 for (std::vector<reco::GenParticle>::const_iterator it_p = genParticlesHandle->begin();
587 it_p != genParticlesHandle->end();
599 std::vector<int>
daughters(it_p->daughterRefVector().size(), 0);
600 for (
unsigned j = 0;
j < it_p->daughterRefVector().size(); ++
j) {
601 daughters[
j] = static_cast<int>(it_p->daughterRefVector().at(
j).key());
608 std::vector<reco::PFCandidate>
pfCandidates = *pfCandidatesHandle;
612 std::vector<reco::PFBlock> pfBlocks = *pfBlocksHandle;
615 const auto& all_elements_distances =
processBlocks(pfBlocks);
616 const auto& all_elements = all_elements_distances.first;
617 const auto& all_distances = all_elements_distances.second;
618 assert(!all_elements.empty());
620 for (
const auto&
d : all_distances) {
629 const auto vec_idx_in_all_elements =
find_element_ref(all_elements, trackref);
632 if (vec_idx_in_all_elements.empty()) {
636 if (recotosim.find(trackref) != recotosim.end()) {
637 const auto& tps = recotosim[trackref];
638 for (
const auto&
tp : tps) {
640 for (
auto idx_in_all_elements : vec_idx_in_all_elements) {
649 int idx_simcluster = 0;
651 for (
unsigned long ncaloparticle = 0; ncaloparticle <
caloParticles.size(); ncaloparticle++) {
656 for (
const auto& simcluster :
cp.simClusters()) {
658 map<uint64_t, double> detid_energy;
673 for (
const auto&
hf : simcluster->hits_and_fractions()) {
680 const float x =
pos.x();
681 const float y =
pos.y();
682 const float z =
pos.z();
683 const float eta =
pos.eta();
684 const float phi =
pos.phi();
696 detid_energy[
id.rawId()] +=
hf.second;
700 int simcluster_to_trackingparticle = -1;
701 for (
const auto& simtrack : simcluster->g4Tracks()) {
702 simtrack_x_.push_back(simtrack.trackerSurfacePosition().x());
703 simtrack_y_.push_back(simtrack.trackerSurfacePosition().y());
704 simtrack_z_.push_back(simtrack.trackerSurfacePosition().z());
711 if (simtrack.eventId() == simtrack2.eventId() && simtrack.trackId() == simtrack2.trackId()) {
712 simcluster_to_trackingparticle = itp;
729 for (
unsigned int ielem = 0; ielem < all_elements.size(); ielem++) {
730 const auto& elem = all_elements.at(ielem);
731 const auto& orig = elem.orig;
736 float sigmadeltap = 0.0;
743 float trajpoint = 0.0;
744 float eta_ecal = 0.0;
745 float phi_ecal = 0.0;
746 float eta_hcal = 0.0;
747 float phi_hcal = 0.0;
751 float muon_dt_hits = 0.0;
752 float muon_csc_hits = 0.0;
755 const auto& matched_pftrack = orig.trackRefPF();
756 if (matched_pftrack.isNonnull()) {
759 if (atHCAL.isValid()) {
760 eta_hcal = atHCAL.positionREP().eta();
761 phi_hcal = atHCAL.positionREP().phi();
763 if (atECAL.isValid()) {
764 eta_ecal = atECAL.positionREP().eta();
765 phi_ecal = atECAL.positionREP().phi();
782 muon_dt_hits = standAloneMu->hitPattern().numberOfValidMuonDTHits();
783 muon_csc_hits = standAloneMu->hitPattern().numberOfValidMuonCSCHits();
789 const auto& ref = orig2->GsftrackRef();
790 if (ref.isNonnull()) {
791 deltap = orig2->DeltaP();
792 sigmadeltap = orig2->SigmaDeltaP();
800 trajpoint = orig2->indTrajPoint();
806 const auto& vec = orig2->Pin();
814 if (!orig2->GsftrackRefPF().isNull()) {
815 charge = orig2->GsftrackRefPF()->charge();
822 if (ref.isNonnull()) {
825 px = ref->position().x();
826 py = ref->position().y();
827 pz = ref->position().z();
829 layer = ref->layer();
830 depth = ref->depth();
834 if (clref.isNonnull()) {
837 px = clref->position().x();
838 py = clref->position().y();
839 pz = clref->position().z();
845 if (
t.second == (
int)ielem) {
846 tps.push_back(
t.first);
851 if (
t.second == (
int)ielem) {
852 scs.push_back(
t.first);
890 for (
const auto& el :
cand.elementsInBlocks()) {
891 const auto idx_block = el.first.index();
892 unsigned idx_element_in_block = el.second;
895 for (
const auto& elem_with_index : all_elements) {
897 if (elem_with_index.idx_block == idx_block && elem_with_index.idx_elem == idx_element_in_block) {
References cms::cuda::assert(), reco::PFBlockElement::BREM, caloTruthCellsProducer_cfi::caloParticles, ALCARECOTkAlJpsiMuMu_cff::charge, ztail::d, BPhysicsValidation_cfi::daughters, LEDCalibrationChannels::depth, DetId::Ecal, reco::PFBlockElement::ECAL, reco::PFTrajectoryPoint::ECALShowerMax, HCALHighEnergyHPDFilter_cfi::energy, PVValHelper::eta, find_element_ref(), relativeConstraints::geom, edm::EventSetup::getData(), reco::PFBlockElement::GSF, DetId::Hcal, reco::PFBlockElement::HCAL, reco::PFTrajectoryPoint::HCALEntrance, photonIsolationHIProducer_cfi::hf, reco::PFBlockElement::HFEM, reco::PFBlockElement::HFHAD, reco::PFBlockElement::HO, triggerObjects_cff::id, iEvent, edm::Ref< C, T, F >::isNonnull(), dqmiolumiharvest::j, edm::Ref< C, T, F >::key(), phase1PixelTopology::layer, nhits, ntrack, zmumugammaAnalyzer_cfi::pfCandidates, reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, DiDispStaMuonMonitor_cfi::pt, PVValHelper::pT, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, reco::PFBlockElement::SC, submitPVValidationJobs::t, cmsswSequenceInfo::tp, reco::PFBlockElement::TRACK, muonClassificationByHits_cfi::trackingParticles, and tracks.
◆ associateClusterToSimCluster()
void PFAnalysis::associateClusterToSimCluster |
( |
const vector< ElementWithIndex > & |
all_elements | ) |
|
|
private |
Definition at line 994 of file PFAnalysisNtuplizer.cc.
995 vector<map<uint64_t, double>> detids_elements;
996 map<uint64_t, double> rechits_energy_all;
999 for (
const auto& elem : all_elements) {
1000 map<uint64_t, double> detids;
1001 const auto&
type = elem.orig.type();
1006 const auto& clref = elem.orig.clusterRef();
1007 assert(clref.isNonnull());
1008 const auto& cluster = *clref;
1011 const vector<reco::PFRecHitFraction>& rechit_fracs = cluster.recHitFractions();
1012 for (
const auto& rh : rechit_fracs) {
1014 if (detids.find(pfrh.
detId()) != detids.end()) {
1017 detids[pfrh.
detId()] += pfrh.
energy() * rh.fraction();
1042 rechits_energy_all[
id.rawId()] += pfrh.
energy() * rh.fraction();
1046 assert(clref.isNonnull());
1047 const auto& cluster = *clref;
1050 const auto& rechit_fracs = cluster.hitsAndFractions();
1051 for (
const auto& rh : rechit_fracs) {
1052 if (detids.find(rh.first.rawId()) != detids.end()) {
1055 detids[rh.first.rawId()] += cluster.energy() * rh.second;
1056 const auto id = rh.first;
1080 rechits_energy_all[
id.rawId()] += cluster.energy() * rh.second;
1083 detids_elements.push_back(detids);
1089 for (
const auto& detids : detids_elements) {
1090 int isimcluster = 0;
1091 if (!detids.empty()) {
1092 double sum_e_tot = 0.0;
1093 for (
const auto&
c : detids) {
1094 sum_e_tot +=
c.second;
1098 double sum_e_tot_sc = 0.0;
1099 for (
const auto&
c : simcluster_detids) {
1100 sum_e_tot_sc +=
c.second;
References cms::cuda::assert(), c, fileCollector::cmp, reco::PFRecHit::detId(), detid_compare(), reco::PFBlockElement::ECAL, reco::PFRecHit::energy(), PVValHelper::eta, reco::PFBlockElement::HCAL, reco::PFBlockElement::HFEM, reco::PFBlockElement::HFHAD, reco::PFBlockElement::HO, reco::PFBlockElement::PS1, reco::PFBlockElement::PS2, and reco::PFBlockElement::SC.
◆ beginJob()
void PFAnalysis::beginJob |
( |
void |
| ) |
|
|
overrideprivatevirtual |
◆ beginRun()
◆ clearVariables()
void PFAnalysis::clearVariables |
( |
| ) |
|
|
private |
◆ endJob()
void PFAnalysis::endJob |
( |
void |
| ) |
|
|
overrideprivatevirtual |
◆ endRun()
◆ fillDescriptions()
◆ getHitPosition()
Definition at line 540 of file PFAnalysisNtuplizer.cc.
543 bool present =
false;
549 present = geom_sd->present(
id);
551 const auto& cell = geom_sd->getGeometry(
id);
References DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, relativeConstraints::geom, CaloSubdetectorGeometry::getGeometry(), DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, CaloSubdetectorGeometry::present(), and runTheMatrix::ret.
◆ processBlocks()
pair< vector< ElementWithIndex >, vector< tuple< int, int, float > > > PFAnalysis::processBlocks |
( |
const std::vector< reco::PFBlock > & |
pfBlocks | ) |
|
|
private |
◆ processTrackingParticles()
◆ aField_
◆ caloParticles_
◆ element_charge_
vector<int> PFAnalysis::element_charge_ |
|
private |
◆ element_deltap_
vector<float> PFAnalysis::element_deltap_ |
|
private |
◆ element_depth_
vector<float> PFAnalysis::element_depth_ |
|
private |
◆ element_distance_d_
vector<float> PFAnalysis::element_distance_d_ |
|
private |
◆ element_distance_i_
vector<int> PFAnalysis::element_distance_i_ |
|
private |
◆ element_distance_j_
vector<int> PFAnalysis::element_distance_j_ |
|
private |
◆ element_energy_
vector<float> PFAnalysis::element_energy_ |
|
private |
◆ element_eta_
vector<float> PFAnalysis::element_eta_ |
|
private |
◆ element_eta_ecal_
vector<float> PFAnalysis::element_eta_ecal_ |
|
private |
◆ element_eta_hcal_
vector<float> PFAnalysis::element_eta_hcal_ |
|
private |
◆ element_layer_
vector<int> PFAnalysis::element_layer_ |
|
private |
◆ element_muon_csc_hits_
vector<float> PFAnalysis::element_muon_csc_hits_ |
|
private |
◆ element_muon_dt_hits_
vector<float> PFAnalysis::element_muon_dt_hits_ |
|
private |
◆ element_phi_
vector<float> PFAnalysis::element_phi_ |
|
private |
◆ element_phi_ecal_
vector<float> PFAnalysis::element_phi_ecal_ |
|
private |
◆ element_phi_hcal_
vector<float> PFAnalysis::element_phi_hcal_ |
|
private |
◆ element_pt_
vector<float> PFAnalysis::element_pt_ |
|
private |
◆ element_px_
vector<float> PFAnalysis::element_px_ |
|
private |
◆ element_py_
vector<float> PFAnalysis::element_py_ |
|
private |
◆ element_pz_
vector<float> PFAnalysis::element_pz_ |
|
private |
◆ element_sigmadeltap_
vector<float> PFAnalysis::element_sigmadeltap_ |
|
private |
◆ element_to_candidate
vector<pair<int, int> > PFAnalysis::element_to_candidate |
|
private |
◆ element_trajpoint_
vector<float> PFAnalysis::element_trajpoint_ |
|
private |
◆ element_type_
vector<int> PFAnalysis::element_type_ |
|
private |
◆ ev_event_
◆ ev_lumi_
◆ ev_run_
◆ gen_charge_
vector<int> PFAnalysis::gen_charge_ |
|
private |
◆ gen_daughters_
vector<vector<int> > PFAnalysis::gen_daughters_ |
|
private |
◆ gen_energy_
vector<float> PFAnalysis::gen_energy_ |
|
private |
◆ gen_eta_
vector<float> PFAnalysis::gen_eta_ |
|
private |
◆ gen_pdgid_
vector<int> PFAnalysis::gen_pdgid_ |
|
private |
◆ gen_phi_
vector<float> PFAnalysis::gen_phi_ |
|
private |
◆ gen_pt_
vector<float> PFAnalysis::gen_pt_ |
|
private |
◆ gen_px_
vector<float> PFAnalysis::gen_px_ |
|
private |
◆ gen_py_
vector<float> PFAnalysis::gen_py_ |
|
private |
◆ gen_pz_
vector<float> PFAnalysis::gen_pz_ |
|
private |
◆ gen_status_
vector<int> PFAnalysis::gen_status_ |
|
private |
◆ genParticles_
◆ geom
◆ geometryToken_
◆ hcal_topo
◆ hcons
◆ pfBlocks_
◆ pfcandidate_energy_
vector<float> PFAnalysis::pfcandidate_energy_ |
|
private |
◆ pfcandidate_eta_
vector<float> PFAnalysis::pfcandidate_eta_ |
|
private |
◆ pfcandidate_pdgid_
vector<int> PFAnalysis::pfcandidate_pdgid_ |
|
private |
◆ pfcandidate_phi_
vector<float> PFAnalysis::pfcandidate_phi_ |
|
private |
◆ pfcandidate_pt_
vector<float> PFAnalysis::pfcandidate_pt_ |
|
private |
◆ pfcandidate_px_
vector<float> PFAnalysis::pfcandidate_px_ |
|
private |
◆ pfcandidate_py_
vector<float> PFAnalysis::pfcandidate_py_ |
|
private |
◆ pfcandidate_pz_
vector<float> PFAnalysis::pfcandidate_pz_ |
|
private |
◆ pfCandidates_
◆ rechit_det_
vector<float> PFAnalysis::rechit_det_ |
|
private |
◆ rechit_detid_
vector<uint64_t> PFAnalysis::rechit_detid_ |
|
private |
◆ rechit_e_
vector<float> PFAnalysis::rechit_e_ |
|
private |
◆ rechit_eta_
vector<float> PFAnalysis::rechit_eta_ |
|
private |
◆ rechit_idx_element_
vector<int> PFAnalysis::rechit_idx_element_ |
|
private |
◆ rechit_phi_
vector<float> PFAnalysis::rechit_phi_ |
|
private |
◆ rechit_subdet_
vector<float> PFAnalysis::rechit_subdet_ |
|
private |
◆ rechit_x_
vector<float> PFAnalysis::rechit_x_ |
|
private |
◆ rechit_y_
vector<float> PFAnalysis::rechit_y_ |
|
private |
◆ rechit_z_
vector<float> PFAnalysis::rechit_z_ |
|
private |
◆ saveHits
bool PFAnalysis::saveHits |
|
private |
◆ simcluster_bx_
vector<int> PFAnalysis::simcluster_bx_ |
|
private |
◆ simcluster_detids_
vector<std::map<uint64_t, double> > PFAnalysis::simcluster_detids_ |
|
private |
◆ simcluster_energy_
vector<float> PFAnalysis::simcluster_energy_ |
|
private |
◆ simcluster_eta_
vector<float> PFAnalysis::simcluster_eta_ |
|
private |
◆ simcluster_ev_
vector<int> PFAnalysis::simcluster_ev_ |
|
private |
◆ simcluster_idx_trackingparticle_
vector<int> PFAnalysis::simcluster_idx_trackingparticle_ |
|
private |
◆ simcluster_nhits_
vector<int> PFAnalysis::simcluster_nhits_ |
|
private |
◆ simcluster_phi_
vector<float> PFAnalysis::simcluster_phi_ |
|
private |
◆ simcluster_pid_
vector<int> PFAnalysis::simcluster_pid_ |
|
private |
◆ simcluster_pt_
vector<float> PFAnalysis::simcluster_pt_ |
|
private |
◆ simcluster_px_
vector<float> PFAnalysis::simcluster_px_ |
|
private |
◆ simcluster_py_
vector<float> PFAnalysis::simcluster_py_ |
|
private |
◆ simcluster_pz_
vector<float> PFAnalysis::simcluster_pz_ |
|
private |
◆ simcluster_to_element
vector<pair<int, int> > PFAnalysis::simcluster_to_element |
|
private |
◆ simcluster_to_element_cmp
vector<float> PFAnalysis::simcluster_to_element_cmp |
|
private |
◆ simhit_det_
vector<int> PFAnalysis::simhit_det_ |
|
private |
◆ simhit_detid_
vector<uint64_t> PFAnalysis::simhit_detid_ |
|
private |
◆ simhit_eta_
vector<float> PFAnalysis::simhit_eta_ |
|
private |
◆ simhit_frac_
vector<float> PFAnalysis::simhit_frac_ |
|
private |
◆ simhit_idx_simcluster_
vector<int> PFAnalysis::simhit_idx_simcluster_ |
|
private |
◆ simhit_phi_
vector<float> PFAnalysis::simhit_phi_ |
|
private |
◆ simhit_subdet_
vector<int> PFAnalysis::simhit_subdet_ |
|
private |
◆ simhit_x_
vector<float> PFAnalysis::simhit_x_ |
|
private |
◆ simhit_y_
vector<float> PFAnalysis::simhit_y_ |
|
private |
◆ simhit_z_
vector<float> PFAnalysis::simhit_z_ |
|
private |
◆ simtrack_idx_simcluster_
vector<int> PFAnalysis::simtrack_idx_simcluster_ |
|
private |
◆ simtrack_pid_
vector<int> PFAnalysis::simtrack_pid_ |
|
private |
◆ simtrack_x_
vector<float> PFAnalysis::simtrack_x_ |
|
private |
◆ simtrack_y_
vector<float> PFAnalysis::simtrack_y_ |
|
private |
◆ simtrack_z_
vector<float> PFAnalysis::simtrack_z_ |
|
private |
◆ t_
◆ topologyToken_
◆ trackingparticle_bx_
vector<int> PFAnalysis::trackingparticle_bx_ |
|
private |
◆ trackingparticle_dvx_
vector<float> PFAnalysis::trackingparticle_dvx_ |
|
private |
◆ trackingparticle_dvy_
vector<float> PFAnalysis::trackingparticle_dvy_ |
|
private |
◆ trackingparticle_dvz_
vector<float> PFAnalysis::trackingparticle_dvz_ |
|
private |
◆ trackingparticle_energy_
vector<float> PFAnalysis::trackingparticle_energy_ |
|
private |
◆ trackingparticle_eta_
vector<float> PFAnalysis::trackingparticle_eta_ |
|
private |
◆ trackingparticle_ev_
vector<int> PFAnalysis::trackingparticle_ev_ |
|
private |
◆ trackingparticle_exx_
vector<float> PFAnalysis::trackingparticle_exx_ |
|
private |
◆ trackingparticle_exy_
vector<float> PFAnalysis::trackingparticle_exy_ |
|
private |
◆ trackingparticle_mother_
vector<int> PFAnalysis::trackingparticle_mother_ |
|
private |
◆ trackingparticle_ovx_
vector<float> PFAnalysis::trackingparticle_ovx_ |
|
private |
◆ trackingparticle_ovy_
vector<float> PFAnalysis::trackingparticle_ovy_ |
|
private |
◆ trackingparticle_ovz_
vector<float> PFAnalysis::trackingparticle_ovz_ |
|
private |
◆ trackingparticle_phi_
vector<float> PFAnalysis::trackingparticle_phi_ |
|
private |
◆ trackingparticle_pid_
vector<int> PFAnalysis::trackingparticle_pid_ |
|
private |
◆ trackingparticle_pt_
vector<float> PFAnalysis::trackingparticle_pt_ |
|
private |
◆ trackingparticle_px_
vector<float> PFAnalysis::trackingparticle_px_ |
|
private |
◆ trackingparticle_py_
vector<float> PFAnalysis::trackingparticle_py_ |
|
private |
◆ trackingparticle_pz_
vector<float> PFAnalysis::trackingparticle_pz_ |
|
private |
◆ trackingparticle_to_element
vector<pair<int, int> > PFAnalysis::trackingparticle_to_element |
|
private |
◆ trackingParticles_
◆ tracks_
◆ tracks_recotosim_
ret
prodAgent to be discontinued
vector< pair< int, int > > element_to_candidate
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pfCandidates_
vector< int > trackingparticle_bx_
vector< float > trackingparticle_dvx_
vector< float > simcluster_phi_
vector< float > element_energy_
vector< float > pfcandidate_py_
GlobalPoint getHitPosition(const DetId &id)
vector< float > trackingparticle_exy_
edm::EDGetTokenT< std::vector< reco::GenParticle > > genParticles_
vector< float > simtrack_x_
edm::EDGetTokenT< edm::View< TrackingParticle > > trackingParticles_
vector< float > element_deltap_
edm::EDGetTokenT< edm::View< CaloParticle > > caloParticles_
float energy() const
rechit energy
vector< float > trackingparticle_py_
vector< float > simhit_y_
vector< float > element_depth_
vector< float > trackingparticle_dvz_
vector< float > simcluster_energy_
vector< float > pfcandidate_pt_
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
vector< std::map< uint64_t, double > > simcluster_detids_
vector< int > find_element_ref(const vector< ElementWithIndex > &vec, const edm::RefToBase< reco::Track > &r)
vector< float > element_px_
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
vector< int > gen_status_
vector< int > simcluster_pid_
vector< float > trackingparticle_dvy_
vector< int > simhit_det_
vector< float > rechit_x_
vector< int > simhit_subdet_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< reco::RecoToSimCollection > tracks_recotosim_
vector< float > simhit_eta_
edm::EventNumber_t ev_event_
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > topologyToken_
vector< int > element_distance_i_
vector< float > trackingparticle_exx_
vector< float > element_muon_csc_hits_
const HcalDDDRecConstants * hcons
vector< float > simcluster_pz_
vector< int > trackingparticle_pid_
vector< int > rechit_idx_element_
vector< float > trackingparticle_px_
vector< int > trackingparticle_ev_
vector< int > element_charge_
vector< float > pfcandidate_pz_
vector< int > element_type_
edm::LuminosityBlockNumber_t ev_lumi_
vector< float > rechit_z_
vector< float > simtrack_z_
void processTrackingParticles(const edm::View< TrackingParticle > &trackingParticles, edm::Handle< edm::View< TrackingParticle >> &trackingParticlesHandle)
vector< float > simhit_frac_
vector< float > trackingparticle_pz_
vector< int > simtrack_pid_
vector< float > simtrack_y_
vector< int > simcluster_idx_trackingparticle_
vector< float > element_phi_hcal_
vector< int > simcluster_ev_
vector< uint64_t > simhit_detid_
pair< int, int > get_triu_vector_index(int k, int n)
Global3DPoint GlobalPoint
vector< uint64_t > rechit_detid_
vector< pair< int, int > > trackingparticle_to_element
vector< float > trackingparticle_ovx_
vector< pair< int, int > > simcluster_to_element
vector< float > simcluster_pt_
constexpr std::array< uint8_t, layerIndexSize > layer
vector< int > pfcandidate_pdgid_
vector< float > pfcandidate_energy_
vector< int > simcluster_nhits_
vector< float > rechit_subdet_
vector< float > simhit_phi_
vector< float > simcluster_px_
void associateClusterToSimCluster(const vector< ElementWithIndex > &all_elements)
vector< float > element_eta_hcal_
vector< float > element_muon_dt_hits_
vector< float > element_phi_
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
vector< float > rechit_e_
vector< float > element_phi_ecal_
bool isNonnull() const
Checks for non-null.
pair< vector< ElementWithIndex >, vector< tuple< int, int, float > > > processBlocks(const std::vector< reco::PFBlock > &pfBlocks)
vector< float > simcluster_to_element_cmp
vector< float > rechit_eta_
vector< float > element_trajpoint_
vector< int > element_distance_j_
vector< int > simhit_idx_simcluster_
vector< float > gen_energy_
vector< int > simtrack_idx_simcluster_
vector< float > element_distance_d_
vector< float > pfcandidate_px_
vector< float > element_sigmadeltap_
vector< float > element_eta_
vector< float > simcluster_py_
double detid_compare(const map< uint64_t, double > &rechits, const map< uint64_t, double > &simhits)
vector< int > simcluster_bx_
bool getData(T &iHolder) const
unsigned detId() const
rechit detId
vector< float > element_pz_
vector< float > simcluster_eta_
vector< float > trackingparticle_phi_
vector< float > element_pt_
vector< float > element_py_
vector< float > simhit_z_
vector< float > trackingparticle_ovz_
vector< int > gen_charge_
static const std::string kSharedResource
MagneticField const * aField_
vector< float > trackingparticle_eta_
vector< int > element_layer_
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
key_type key() const
Accessor for product key.
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
edm::EDGetTokenT< std::vector< reco::PFBlock > > pfBlocks_
vector< float > pfcandidate_phi_
vector< vector< int > > gen_daughters_
vector< float > pfcandidate_eta_
vector< float > trackingparticle_pt_
void addDefault(ParameterSetDescription const &psetDescription)
vector< float > trackingparticle_energy_
vector< float > element_eta_ecal_
vector< float > rechit_det_
T * make(const Args &... args) const
make new ROOT object
vector< int > trackingparticle_mother_
vector< float > rechit_y_
edm::EDGetTokenT< edm::View< reco::Track > > tracks_
vector< float > trackingparticle_ovy_
vector< float > rechit_phi_
vector< float > simhit_x_