Skip to content

Commit

Permalink
Merge pull request #1216 from brownd1978/whstatefix
Browse files Browse the repository at this point in the history
Minor tweaks to updaters
  • Loading branch information
kutschke committed Mar 12, 2024
2 parents 558ec75 + 365a585 commit 41b659c
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 14 deletions.
6 changes: 3 additions & 3 deletions Mu2eKinKal/fcl/prolog.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ Mu2eKinKal : {
[ 0.0, "CADSHU:DriftANNSHU" ],
[ 0.0, "CADSHU:DriftANNSHU" ],
[ 0.0, "CADSHU:DriftANNSHU" ],
[ 0.0, "CADSHU:DriftANNSHU:BkgANNSHU" ],
[ 0.0, "CADSHU:BkgANNSHU:DriftANNSHU" ],
[ 0.0, "CADSHU:DriftANNSHU" ]
]
CADSHUSettings : [
Expand All @@ -236,8 +236,8 @@ Mu2eKinKal : {
]

BkgANNSHUSettings : [
[ "Offline/Mu2eKinKal/data/TrainBkgSeed.dat",0.1,"Inactive", 1],
[ "Offline/Mu2eKinKal/data/TrainBkgFinal.dat",0.1,"Inactive", 1]
[ "Offline/Mu2eKinKal/data/TrainBkgSeed.dat",0.2,"Inactive", 1],
[ "Offline/Mu2eKinKal/data/TrainBkgFinal.dat",0.2,"Inactive", 1]
]

DriftANNSHUSettings : [
Expand Down
2 changes: 1 addition & 1 deletion Mu2eKinKal/inc/KKStrawHit.hh
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ namespace mu2e {
if(ca.usable()){
auto dinfo = fillDriftInfo();
// there can be multiple updaters: apply them all
if(bkgshu)whstate_ = bkgshu->wireHitState(whstate_,ca.tpData(),dinfo,chit_);
if(cashu)whstate_ = cashu->wireHitState(whstate_,ca.tpData(),dinfo);
if(bkgshu)whstate_ = bkgshu->wireHitState(whstate_,ca.tpData(),dinfo,chit_);
if(driftshu)whstate_ = driftshu->wireHitState(whstate_,ca.tpData(),dinfo,chit_);
if(whstate_.driftConstraint()){
dVar_ = dinfo.driftHitVar();
Expand Down
15 changes: 9 additions & 6 deletions Mu2eKinKal/src/BkgANNSHU.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace mu2e {
std::string freeze = std::get<2>(config);
diag_ = std::get<3>(config);
freeze_ = WHSMask(freeze);
if(diag_ > 0)std::cout << "BkgANNSHU weights " << std::get<0>(config) << " cut " << mvacut_ << " freeze " << freeze_ << std::endl;
if(diag_ > 0)std::cout << "BkgANNSHU weights " << std::get<0>(config) << " cut " << mvacut_ << " freezing " << freeze_ << std::endl;
}

WireHitState BkgANNSHU::wireHitState(WireHitState const& input, ClosestApproachData const& tpdata, DriftInfo const& dinfo, ComboHit const& chit) const {
Expand All @@ -37,14 +37,17 @@ namespace mu2e {
pars[5] = tpdata.particlePoca().Vect().Rho();
auto mvaout = mva_->infer(pars.data());
whstate.quality_[WireHitState::bkg] = mvaout[0];
if(diag_ > 2){
whstate.algo_ = StrawHitUpdaters::BkgANN;
}
whstate.algo_ = StrawHitUpdaters::BkgANN;
if(mvaout[0] < mvacut_){
whstate.algo_ = StrawHitUpdaters::BkgANN;
whstate.state_ = WireHitState::inactive;
whstate.frozen_ = whstate.isIn(freeze_);
} else {
// re-activate the hit if it was inactive
if(whstate.isInactive())whstate.state_ = WireHitState::null;
}
whstate.frozen_ = whstate.isIn(freeze_);
if (diag_ > 1)std::cout << "BkgANNSHU set hit " << whstate << std::endl;
} else if (diag_ > 1) {
std::cout << "BkgANNSHU skipping hit " << whstate << std::endl;
}
return whstate;
}
Expand Down
4 changes: 3 additions & 1 deletion Mu2eKinKal/src/CADSHU.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ namespace mu2e {
whstate.flag_ = flag_;
whstate.frozen_ = whstate.isIn(freeze_);
}
}
if (diag_ > 1)std::cout << "CADSHU set hit " << whstate << std::endl;
} else if (diag_ > 1) {
std::cout << "CADSHU skipping hit " << whstate << std::endl; }
return whstate;
}

Expand Down
9 changes: 6 additions & 3 deletions Mu2eKinKal/src/DriftANNSHU.cc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ namespace mu2e {

WireHitState DriftANNSHU::wireHitState(WireHitState const& input, ClosestApproachData const& tpdata, DriftInfo const& dinfo, ComboHit const& chit) const {
WireHitState whstate = input;
if(input.updateable(StrawHitUpdaters::DriftANN)){
if(whstate.updateable(StrawHitUpdaters::DriftANN) && whstate.active()){
// infer the ANN values
std::array<float,5> spars;
std::array<float,4> cpars;
Expand All @@ -55,8 +55,8 @@ namespace mu2e {
double plen = sqrt(std::max(0.25, 6.25-dinfo.rDrift_*dinfo.rDrift_))/sint;
cpars[3] = chit.energyDep()/plen;
auto clustermvaout = clustermva_->infer(cpars.data());
if(diag_ > 1)std::cout << std::setw(8) << std::setprecision(5)
<< "ANN inputs: doca, cdrift, sigdoca, TOTdrift, EDep "
if(diag_ > 2)std::cout << std::setw(8) << std::setprecision(5)
<< "Drift ANN inputs: doca, cdrift, sigdoca, TOTdrift, EDep "
<< spars[0] << " , "
<< spars[1] << " , "
<< spars[2] << " , "
Expand Down Expand Up @@ -100,6 +100,9 @@ namespace mu2e {
whstate.state_ = WireHitState::null;
}
whstate.frozen_ = whstate.isIn(freeze_);
if (diag_ > 1)std::cout << "DriftANNSHU set hit " << whstate << std::endl;
} else if (diag_ > 1) {
std::cout << "DriftANNSHU skipping hit " << whstate << std::endl;
}
return whstate;
}
Expand Down
1 change: 1 addition & 0 deletions Mu2eKinKal/src/WireHitState.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace mu2e {
if(whs.frozen()) ost << " Frozen ";
ost << WireHitState::StateNames_[whs.state_+3];
ost << " Flags " << whs.flag_;
ost << " algo " << StrawHitUpdaters::name(whs.algo_);
return ost;
}

Expand Down

0 comments on commit 41b659c

Please sign in to comment.