Debug in CyberPFA: neighbor clustering and electron energy scale
1 unresolved thread
1 unresolved thread
- Fix a bug in neighbor clustering, which will cause >2 neighbor hits in endcap.
- Fix a bug in ECAL cluster energy scale, sensitive to electron E/p
- Fix a bug in ParticleID. Neutral particle momentum should be tuned with energy and mass.
Merge request reports
Activity
Filter activity
39 39 std::vector<const Track*> vec_trks = p_pfos[ip]->getTracks(); 40 40 std::vector<const Calo3DCluster*> vec_Ecalclus = p_pfos[ip]->getECALClusters(); 41 41 std::vector<const Calo3DCluster*> vec_Hcalclus = p_pfos[ip]->getHCALClusters(); 42 double ecalcalib = vec_trks.size()==0 ? settings.map_floatPars.at("ECALNeutralCalib") : settings.map_floatPars.at("ECALChargedCalib"); 42 43 double ecalcalib = 1.; 43 44 double hcalcalib = vec_trks.size()==0 ? settings.map_floatPars.at("HCALNeutralCalib") : settings.map_floatPars.at("HCALChargedCalib"); 44 45 46 //TODO: this is a calibration based on PID. May need to move this step into the algorithms. 47 if(vec_trks.size()==0) ecalcalib = settings.map_floatPars.at("ECALNeutralCalib"); 48 else{ 49 if( p_pfos[ip]->getTrackMomentum() < 15. || p_pfos[ip]->getECALClusterEnergy()*ecalcalib/p_pfos[ip]->getTrackMomentum() < 0.8 ) ecalcalib = settings.map_floatPars.at("ECALChargedCalib"); 50 else ecalcalib = settings.map_floatPars.at("ECALNeutralCalib"); mentioned in commit 7c58ca40