Repository for ML study on dead Si cells rechit regression. For use with ROOT >= 6.20.00 (CMSSW_11_1_0)
Setup latest CMSSW release
cmsrel CMSSW_11_2_0_pre2
cd CMSSW_11_2_0_pre2/src
cmsenv
Get the repository
git clone https://github.com/chrispap95/deadCellRegression.git
cd to the area
cd deadCellRegression/regressionScripts
Train the algorithm
root -l TMVARegression.C\(\"someSample.root\",\"testRun\",10000\)
to use the result
root -l TMVARegressionApplication.C\(100,1\)
To get an idea of what the inputs are:
root -l TMVARegression.C\(\"inputFile.root\",\"uniqueIDstring\",nSamples,nHiddenLayers,\"nodesPerLayer\"\)
root -l TMVARegressionApplication.C\(energy,deadFraction\)
The training script can be also submitted through condor using prepareCondor.sh
,condor-exec.csh
,condor.jdl
.
When the files are configured properly, submit using
condor_submit condor.jdl
Use deadCellsRegression*.py
scripts for Keras based regression. You will need to add the input/output names in the scripts.
Ultimate goal is to make these the default scripts for regression.
The script rechitSumLooper.C
can be used for easy fitting of the discrete energy samples. Run it as follows:
root -l rechitSumLooper.C\(deadFraction,\"methodToUse\"\)
The available methods are none
,MLregr
,aver
and LSaver
.
Finally, to combine multiple plots into one, you can use plotComparison.C
. It uses the root files from the previous step as input.