Skip to content

Commit

Permalink
Merge pull request #84 from kmcdermo/full-det-tracking
Browse files Browse the repository at this point in the history
Small updates to cleaning, use unique layers in simtrack matching
  • Loading branch information
osschar authored Jul 5, 2017
2 parents fb9a398 + 5c7d04e commit 552b613
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 16 deletions.
14 changes: 2 additions & 12 deletions Event.cc
Original file line number Diff line number Diff line change
Expand Up @@ -595,18 +595,8 @@ int Event::clean_cms_simtracks()
const int nh = t.nFoundHits();

t.sortHitsByLayer();

int lyr_cnt = 0;
int prev_lyr = -1;
for (int h = 0; h < nh; ++h)
{
int h_lyr = t.getHitLyr(h);
if (h_lyr >= 0 && h_lyr != prev_lyr)
{
++lyr_cnt;
prev_lyr = h_lyr;
}
}

const int lyr_cnt = t.nUniqueLayers();

if (lyr_cnt < Config::cmsSimSelMinLayers || t.pT() < Config::cmsSimSelMinPt)
{
Expand Down
4 changes: 2 additions & 2 deletions Track.cc
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ void TrackExtra::setMCTrackIDInfo(const Track& trk, const std::vector<HitVec>& l
dprintf("TrackExtra::setMCTrackIDInfo for track with label %d, total hits %d, found hits %d\n",
trk.label(), trk.nTotalHits(), trk.nFoundHits());
std::vector<int> mcTrackIDs;

for (int ihit = 0; ihit < trk.nTotalHits(); ++ihit)
{
const int hitidx = trk.getHitIdx(ihit);
Expand Down Expand Up @@ -201,8 +202,7 @@ void TrackExtra::setMCTrackIDInfo(const Track& trk, const std::vector<HitVec>& l
if (isSeed) mcTrackID_ = mcTrackID;
else
{
// XXXXMT4K Requires Track::nFoundUniqueLayerHits() or Track::nFoundLayers()
const int nMinSimHits = simtracks[mcTrackID].nFoundHits() * Config::nMinSimHitsFrac;
const int nMinSimHits = simtracks[mcTrackID].nUniqueLayers() * Config::nMinSimHitsFrac;
const int minFoundHits = ((nMinSimHits >= Config::nMinFoundHits) ? Config::nMinFoundHits : nMinSimHits);

if (trk.nFoundHits() >= minFoundHits) mcTrackID_ = mcTrackID;
Expand Down
18 changes: 17 additions & 1 deletion Track.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,23 @@ class Track

int nFoundHits() const { return nFoundHits_; }
int nTotalHits() const { return lastHitIdx_+1; }


int nUniqueLayers() const
{
int lyr_cnt = 0;
int prev_lyr = -1;
for (int ihit = 0; ihit < lastHitIdx_ ; ++ihit)
{
int h_lyr = hitsOnTrk_[ihit].layer;
if (h_lyr >= 0 && h_lyr != prev_lyr)
{
++lyr_cnt;
prev_lyr = h_lyr;
}
}
return lyr_cnt;
}

const std::vector<int> foundLayers() const
{
std::vector<int> layers;
Expand Down
2 changes: 1 addition & 1 deletion makeValidation.C
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ void makeValidation(TString label = "")
g_ce ->SetMarkerColor(kRed);

if (!rates[i].Contains("ineff",TString::kExact)) g_bh->GetYaxis()->SetRangeUser(0.0,1.05);
else g_bh->GetYaxis()->SetRangeUser(0.0,0.1);
else g_bh->GetYaxis()->SetRangeUser(0.0,0.25);

g_bh ->Draw("APZ");
g_std->Draw("PZ same");
Expand Down
64 changes: 64 additions & 0 deletions validation-snb-cmssw-fulldet-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#! /bin/bash

sed -i 's/#WITH_ROOT := yes/WITH_ROOT := yes/g' Makefile.config

make -j 12

dir=/data/nfsmic/scratch/10mu-new

## ECN ##
echo "SNB CMSSW BH (ECN): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecn-1000-10.bin-5 --build-bh --num-thr 24 >& log_SNB_CMSSW_ECN_BH_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECN_BH.root
echo "SNB CMSSW STD (ECN): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecn-1000-10.bin-5 --build-std --num-thr 24 >& log_SNB_CMSSW_ECN_STD_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECN_STD.root
echo "SNB CMSSW CE (ECN): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecn-1000-10.bin-5 --build-ce --num-thr 24 >& log_SNB_CMSSW_ECN_CE_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECN_CE.root

## BRL ##
echo "SNB CMSSW BH (BRL): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_brl-1000-10.bin-5 --build-bh --num-thr 24 >& log_SNB_CMSSW_BRL_BH_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_BRL_BH.root
echo "SNB CMSSW STD (BRL): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_brl-1000-10.bin-5 --build-std --num-thr 24 >& log_SNB_CMSSW_BRL_STD_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_BRL_STD.root
echo "SNB CMSSW CE (BRL): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_brl-1000-10.bin-5 --build-ce --num-thr 24 >& log_SNB_CMSSW_BRL_CE_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_BRL_CE.root

## ECP ##
echo "SNB CMSSW BH (ECP): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecp-1000-10.bin-5 --build-bh --num-thr 24 >& log_SNB_CMSSW_ECP_BH_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECP_BH.root
echo "SNB CMSSW STD (ECP): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecp-1000-10.bin-5 --build-std --num-thr 24 >& log_SNB_CMSSW_ECP_STD_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECP_STD.root
echo "SNB CMSSW CE (ECP): validation [nTH:24, nVU:8]"
./mkFit/mkFit --geom CMS-2017 --root-val --read --file-name ${dir}/mu_ecp-1000-10.bin-5 --build-ce --num-thr 24 >& log_SNB_CMSSW_ECP_CE_NVU8int_NTH24_val.txt
mv valtree.root valtree_SNB_CMSSW_ECP_CE.root

sed -i 's/WITH_ROOT := yes/#WITH_ROOT := yes/g' Makefile.config

make clean

for section in ECN BRL ECP
do
for build in BH STD CE
do
root -b -q -l runValidation.C\(\"_SNB_CMSSW_${section}_${build}\"\)
done
root -b -q -l makeValidation.C\(\"SNB_CMSSW_${section}\"\)
done

for build in BH STD CE
do
hadd valtree_SNB_CMSSW_FullDet_${build}.root validation_SNB_CMSSW_ECN_${build}/valtree_SNB_CMSSW_ECN_${build}.root validation_SNB_CMSSW_BRL_${build}/valtree_SNB_CMSSW_BRL_${build}.root validation_SNB_CMSSW_ECP_${build}/valtree_SNB_CMSSW_ECP_${build}.root

root -b -q -l runValidation.C\(\"_SNB_CMSSW_FullDet_${build}\"\)
done

root -b -q -l makeValidation.C\(\"SNB_CMSSW_FullDet\"\)

make distclean

0 comments on commit 552b613

Please sign in to comment.