Update 'Selection code'

Renata Kopecná 2022-02-01 13:10:03 +01:00
parent 0e6417ff74
commit 3fbe51a434

@ -31,7 +31,7 @@ The code consists of several C++ scripts that are compiled and executed in ROOT.
We used ROOT 6.06.02. We used ROOT 6.06.02.
First, compile and run the preselection. It is defined in [[BDTSelection.cpp|BDTSelection]]. First, compile and run the preselection. It is defined in [[BDTSelection.cpp|BDTSelection]]. This reads the files with **stripped** data and creates new tuples with **preselected** data.
``` ```
.L BDTSelection.cpp+ .L BDTSelection.cpp+
runAllSignalData(1); runAllSignalData(2); runAllSignalData(1); runAllSignalData(2);
@ -45,7 +45,7 @@ Then, run a python script [[Rescale_pi0momentum.py|Rescale pi0 momentum]] perfo
lb-conda default python Scripts/Rescale_pi0momentum.py lb-conda default python Scripts/Rescale_pi0momentum.py
``` ```
Next step is to compile and perform the MC Truth-Matching, saved in [[MCtruthmatching.cpp|MCtruthmatching.cpp]]. The Truth-matching procedure is in detail described in [my thesis](http://www.physi.uni-heidelberg.de/Publications/thesis_Kopecna_final.pdf). Next step is to compile and perform the MC Truth-Matching, saved in [[MCtruthmatching.cpp|MCtruthmatching.cpp]]. The Truth-matching procedure is in detail described in [my thesis](http://www.physi.uni-heidelberg.de/Publications/thesis_Kopecna_final.pdf).
``` ```
.L MCtruthmatching.cpp+ .L MCtruthmatching.cpp+
TruthMatchAllAll(1); TruthMatchAllAll(2); TruthMatchAllAll(1); TruthMatchAllAll(2);
@ -60,7 +60,7 @@ addAllXMuMuMass(true,true,2); addAllXMuMuMass(false,true,2); applyAllVetoKplusMu
We have all the preselection finished. Now we will need to fit the reconstructed B mass peak. For the instructions how to compile the code and make RooFit use double-sided Crystal Ball or ExpGauss, see [[B mass model section|B-mass-model]]. We have all the preselection finished. Now we will need to fit the reconstructed B mass peak. For the instructions how to compile the code and make RooFit use double-sided Crystal Ball or ExpGauss, see [[B mass model section|B-mass-model]].
Now the peaking background is removed, we can proceed to reweighting via [[nTrackWeights.cpp|nTrackWeights]] Now the peaking background is removed, we can proceed to reweighting via [[nTrackWeights.cpp|nTrackWeights]]. It takes the **preselected** tuples and create new **weighted** ones, with the tag BDT input.
``` ```
.L nTrackWeights.cpp+ .L nTrackWeights.cpp+
WeightAll(true,1,true); ReweightReferenceMC(true,1,true); ReweightPHSPMC(true,1,true); WeightAll(true,1,true); ReweightReferenceMC(true,1,true); ReweightPHSPMC(true,1,true);
@ -79,7 +79,7 @@ Reweighted Data and Monte Carlo can be used for the [[MVA.cpp|MVA-Class]]
RunMVA(1); RunMVA(2); RunMVA(1); RunMVA(2);
``` ```
Apply the MVA to all the MC and Data using [[TMVAClassApp.cpp|TMVA Class application]] Apply the MVA to all the MC and Data using [[TMVAClassApp.cpp|TMVA Class application]]. This also creates new tuples with the tag BDT output.
``` ```
.L TMVAClassApp.cpp+ .L TMVAClassApp.cpp+
TMVAClassAppAll(1); TMVAClassAppAll(2); TMVAClassAppAll(1); TMVAClassAppAll(2);
@ -146,7 +146,7 @@ Make a nice TGraph from the scan; when creating the scan, it can happen that eg
python ReorganizeTGraph.py python ReorganizeTGraph.py
``` ```
Use the MVA scan to plot the signal yields, apply the MVA cut and compare the yields to the CMS results (see [[SignalStudy.cpp|Signal Study]]). Use the MVA scan to plot the signal yields, apply the MVA cut and compare the yields to the CMS results (see [[SignalStudy.cpp|Signal Study]]). It also creates the tuples used by the [[FCNC fitter|FCNC fitter]] tagged as BDT output selection.
``` ```
.L SignalStudy.cpp+ .L SignalStudy.cpp+
plotYieldInQ2(true); plotYieldInQ2(false); plotYieldInQ2(true); plotYieldInQ2(false);