Work Notes
HGCal Material Analysis
Description of the tasks
In these notes we aim to provide plots that describe and validate the latest HGCal geometry in CMSSW. Specifically,
- Material budget plots on the simulation geometry.
- Assemble the material density of the simulation geometry.
At the moment there are two different packages used for the above-mentioned tasks. For the
dEdx
plot, the package is under
SimTracker/TrackerMaterialAnalysis
, while for the material budget the code is under
Validation/Geometry
. For some more details on the packages see
here and
here.
Set up
Before getting these packages, one should find the latest CMSSW release to benefit from the latest bugfixes
here.
The recipe is here:
cmsrel CMSSW_10_2_0_pre5
cd CMSSW_10_2_0_pre5/src/
cmsenv
git cms-addpkg Validation/Geometry
git cms-merge-topic apsallid:hgcalmaterial
git cms-merge-topic kpedro88:Phase2-WF45val
(cd $LOCALRT && scram b disable-biglib)
cmsenv
(cd $LOCALRT && scram b -j 8)
scram b -j 8
#-------------------------------------------
#For the dEdx plot give the commands in the
#three lines below
cd SimTracker/TrackerMaterialAnalysis/test
cmsRun trackingMaterialProducer10GeVNeutrino_ForPhaseII.py
cmsRun trackingMaterialAnalyser_ForPhaseII.py
#-------------------------------------------
#For the material budget give the commands below
cd Validation/Geometry/python
cmsRun single_neutrino_cfg.py
mv single_neutrino_random.root ../test
cd ../test
cmsRun runP_HGCal_cfg.py geom=Extended2023D28 label=HGCal
python MaterialBudget.py -s -d HGCal
Results
In the following lines results are presented for the
Extended2023D28
geometry. Material budget in units of
radiation length
is defined as Path length in the material/Material’s radiation length, while Material budget in units of
interaction length
is defined as Path length in the material/Material’s interaction length.
Plot |
Description |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each eta bin. 250 bins in eta (-5,5), so eta is divided in 0.04 width bins. |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each phi bin. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each phi bin. 180 bins in phi -3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of radiation length in each radius bin. 300 bins in radius (0,3000 mm), so radius is defined in 1 cm width bins. Both endcaps are in this histogram. Entries are huge since the radius is filled for each step of the track. Statistics in the HEB part above 1565 mm is smaller (although non visible, error is small), since in most part nothing is infront to keep account of the step. |
|
The plot on the left shows the stacked profile histograms of all materials in HGCal geometry. These profile histograms display the mean value of the material budget in units of interaction length in each radius bin. 300 bins in radius (0,3000 mm), so radius is defined in 1 cm width bins. Both endcaps are in this histogram. Entries are huge since the radius is filled for each step of the track. Statistics in the HEB part above 1565 mm is smaller (although non visible, error is small), since in most part nothing is in front to keep account of the step. |
|
The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of radiation length in each eta-phi cell. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. 250 bins in eta -5., 5., so eta is divided in 0.04 width bins. Therefore, eta-phi cell is 2.038 degrees x 0.04 . |
|
The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of interaction length in each eta-phi cell. 180 bins in phi (-3.2,3.2), so phi is divided in 0.036 rad width bins or 2.038 degrees width bins. 250 bins in eta -5., 5., so eta is divided in 0.04 width bins. Therefore, eta-phi cell is 2.038 degrees x 0.04 . |
|
The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of radiation length in each R-z cell. 345 bins in radius (-50. mm , 3400. mm), so radius is defined in 1 cm width bins. 11000 bins in z (-5500 mm,5500 mm), so z is defined in 1 mm width bins. So, R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram that displays the mean value of the material budget in units of interaction length in each R-z cell. 345 bins in radius (-50. mm , 3400. mm), so radius is defined in 1 cm width bins. 11000 bins in z (-5500 mm,5500 mm), so z is defined in 1 mm width bins. So, R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal local material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal local material budget, that is cos(theta) what the track sees. |
Results: Plots for individual material in all HGCal
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in all HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
Results: Plots for individual material in Z+ Endcap
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z+ endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
Results: Plots for individual material in Z- Endcap
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Copper in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Scintillator in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Cables in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for M_NEMA_FR4_plate in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Silicon in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Other in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Air in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Stainless_Steel in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for WCu in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the accumulated material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the orthogonal accumulated material budget, that is cos(theta) what the track sees. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the local mean value of the material budget in units of radiation length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
|
The plot on the left shows the 2D profile histogram for Lead in Z- endcap of HGCal that displays the local mean value of the material budget in units of interaction length in each R-z cell. R-z cell is 1 cm x 1 mm. The plot depicts the local material budget as seen by the track, as the track travels throughout the detector. |
Vertex ID exercise with Julie Malcles's code
Primary vertex reconstruction in
CMS is performed by clustering tracks together and performing fits to determine the likelihood these tracks originated from a common vertex. The reconstructed vertex with the largest total pT is considered the primary vertex. The primary vertex is the proton-proton interaction point. Many tracks should originate from this point. So, this assumption seems reasonable.
The primary vertex collection is sorted according to the sum of the Pt squared of the tracks associated to each vertex, such that the vertex with largest sum, likely to be the "signal" vertex, appears first.
Here we will perform an exercise with the provided code by Julie Malcles.
Set up: First Step
In the first step miniAOD files are produced from AOD
with and without
the muon tracks. The code is
here (Hgg_ZVertexRefit)
. To install it, run in lxplus the following commands:
cmsrel CMSSW_9_2_8
cd CMSSW_9_2_8/src
cmsenv
git cms-init
cd $CMSSW_BASE/src
git clone https://github.com/malcles/Hgg_ZVertexRefit Validation/Hgg_ZVertexRefit
#compile
scram b -j 3
For a local test do
cmsRun Validation/Hgg_ZVertexRefit/python/miniAOD-prod_PAT_DATA_AllVerticesCollFiltered.py
For a normal work use the
crabAllData.py
file.
Set up: Second Step
In the second step, the final validation ntuples are created starting from the output of
the first step. To setup your working area do in lxplus:
cmsrel CMSSW_9_2_8
cd CMSSW_9_2_8/src/
cmsenv
git cms-init
git clone https://github.com/malcles/flashgg -b vertex-validation-z flashgg
source flashgg/setup_9_2_X.sh
scram b -j 4
Then to run a local test:
cmsRun Validation/python/outputAnalyzerHighMassDataChangeHLT.py
And to run on the full sample, modify and use
crabZData.py
file.
For the MC config look in the branch
malcles-vertex-z
and
outputAnalyzerHighMassMCChangeHLT.py
.
The differences of the two are :
< process.load("flashgg/MicroAOD/flashggMicroAODSequenceNoMu_cff")
> process.load("flashgg/MicroAOD/flashggMicroAODSequenceNoMuData_cff")
< pathName=cms.vstring("HLT_Mu30_TkMu11")
> pathName=cms.vstring("HLT_IsoMu24")
< PileUpTag=cms.untracked.InputTag("slimmedAddPileupInfo"),
Analysis: First Step
Notes on main code myNoMuonTrackProducer
Here we are going to comment on the main code of the first step
myNoMuonTrackProducer
and its python configuration
myNoMuonTrackProducer_cfi.py
.
This is the main producer called in
miniAOD-prod_PAT_DATA_AllVerticesCollFiltered.py
for data and in
miniAOD-prod_PAT_MC_AllVerticesCollFiltered.py
for mc.
Input to the code is the
"generalTracks"
, which are a collection of tracks obtained with tracker-standalone reconstruction
and officially supported by the Tracker DPG group. Such a collection can contain tracks from different tracking algorithms.
Also,
"particleFlow"
is given, which is
reco::PFCandidateCollection
Particle Flow Candidates and represents
reconstructed physics particles, but it is not used. Furthermore,
"muons"
is given, which is
reco::MuonCollection
that
represents muons built using tracker-muon, standalone-muon and global-muon reconstruction algorithms with muon id and
other information (energy deposits, isolation information, etc.).
Output is a collection of tracks.
The code loops through the collection of muons (
"muons"
) and keeps events that have
at least two muons
with the following
characteristics:
1.
muon->isPFMuon()
: Particle identified as a muon by the Particle Flow event reconstruction.
2.
muon->isGlobalMuon() || the_muon->isTrackerMuon()
: Muon is Global OR Tracker Muon, so avoid
using muons which are only Standalone Muons. (~0.01% of PF muons).
3.
muon->pt()>10
: Muons has at least 10
GeV pt.
4. From all the muon pairs that are in the event with the above selection, the closest dimuon pair to the
Z mass should have a dimuon mass between 50
GeV and 1000
GeV.
The output of this producer is a subgroup of tracks of the
"generalTracks"
. Specifically:
1.
"myNoMuonTrackProducerNoMu"
: All tracks that have (
dPt1,2<0.01 && dR1,2<0.005
)
with any of the muons that passed the selection are removed. So, tracks with pt difference smaller that
0.01 and delta R 0.005 from either of the selected muons are removed.
We will refer to this as the the
nomu
case.
2.
"myNoMuonTrackProducerWithMu"
: Here all tracks are kept so this is the same as the
"generalTracks"
.
We will refer to this as the the
mu
case.
Then,
OfflinePrimaryVertices_cfi
is used to perform the primary vertex reconstruction in both mu and nomu cases.
Analysis: Second Step
Crab notes
First, check if you can write to your directory in eos:
crab checkwrite --site=T2_CH_CERN --lfn=/store/user/apsallid/VertexID
We choose to perform this exercise starting from the already created ntuples by Julie on
Run2017Bv2
, until we can have write priviledge on the Taiwan Tier 2 site (Youying can access
so we are good, Andreas cannot but have access to T2_CH_CERN):
crab checkwrite --site=T2_TW_NCHC
Then, check the number of jobs and time for each job:
crab submit -c crabZData.py --dryrun
If you are not satisfied with the jobs delete the
crab_projects
directory, correct the
Data.unitsPerJob
value and
submit a new task:
crab submit -c crabZData.py --dryrun
In case of
MC
create a new config crab file (
crabZMC.py
) but change the splitting:
config.Data.splitting = 'FileBased'
and again as above adjust the
Data.unitsPerJob
value:
crab submit -c crabZMC.py --dryrun
Now you can proceed to the submission to the grid:
crab proceed -d crab_projects/crab_VtxHighMass928-ZDATA25ns_Run2017Bv2
crab proceed -d crab_projects/crab_VtxHighMass928-ZMC
To check the status of your jobs:
crab status -d crab_projects/crab_VtxHighMass928-ZDATA25ns_Run2017Bv2
crab status -d crab_projects/crab_VtxHighMass928-ZMC
In case of failure of some jobs, find the failed jobs:
crab status -d crab_projects/crab_VtxHighMass928-ZMC --long | grep failed
and resubmit e.g. :
crab resubmit -d crab_projects/crab_VtxHighMass928-ZMC --jobids 365,372,374
Finally, obtain a report:
crab report -d crab_projects/crab_VtxHighMass928-ZDATA25ns_Run2017Bv2
Output files in our case can be found here:
MC: /eos/cms/store/user/apsallid/VertexID/DYJetsToLL_M-50_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8
Data: /eos/cms/store/user/apsallid/VertexID/DoubleMuon
Just
hadd
the output.
Notes on outputAnalyzerDiMuHighMass.cc
Some notes on the main code
outputAnalyzerDiMuHighMass.cc
.
l333-l361 : The event is disregarded if it doesn't pass the trigger.
l396-l397 : The code finds the reconstructed vertex (index) that is closest to the true vertex.
l401,l403 : Also, it finds the second closest reconstructed vertex (index) to the true vertex.
l411 : Then, it stores the coordinates of the true vertex.
l419-l429 : Save the the number of formally mixed-in interactions, which can be larger than the
number of interactions with stored properties.
l433-l452 : Looping through all the muons in the event and counting how many will pass the selection.
Muons selection :
Tight
MuonID is used from
here
BUT removing the cuts on the tracker track since these muons will mimic the photons. More information below.
Isolation : Muon isolation recipe from
here is used.
This is
Tracker-based relative isolation (tight cut)
.
l459-l410 : If the event has at least two muons that pass the selection, the two muons that
has the closest mass to the Zmass are kept.
l516-l520 : Cut on the dimuon system mass to be between
50 GeV
and
1000 GeV
.
l529-l548 : For those events that pass the above selection the code saves the total number of tracks at
the reconstructed primary vertices for
mu
and
nomu
cases.
l552-l557 : It saves the number of reconstructed primary vertices for
mu
and
nomu
cases.
l559-l562 : Beamspot information.
l571-l597 : Information for the muons saved is:
pt
,
eta
,
vx
,
vy
,
vz
(location of the vertex),
dB(pat::Muon::BS3D)
,
edB(pat::Muon::BS3D
) (tracker track transverse impact parameter and uncertainty. Type of
the impact parameter is
BS3D
so it is w.r.t. the beamspot. More info in this
hypernews
thread.
and here in the
code
),
sip
(The impact parameter significance sip, defined as the ratio of the impact to its estimated uncertainty),
dzBS
(longitudinal distance of the tracker track wrt beamspot),
dxyBS
(tracker track transverse impact parameter wrt beamspot, in
MuonId they say it should have tiny
differences with dB method above).
l602 :
FlashggLegacyVertexSelector
is used and the select method is
here
(
we should study this!):
l604 : this is the vertex
mvaprob
. Here is the
code (LegacyVertexSelector.cc)
.
l606 : More info is stored. See
here
what more.
l614-l624 :
z coordinate
of the chosen vertex,
pt
of the tracks associated with the chosen vertex, number of
tracks associated with the chosen vertex, mva probability.
l631-l637 : Info on the first of the primary vertices.
l639-l649 : Saves the parameters of
l606 above apart from mva probability.
l652-l653 :
have to understand how this numbers comes up.
l662 : In
getRecoWithMuonsVertexIndex
he checks the
vertex z position
of the muon system and calculates the
dz
with all the reconstructed vertices. If the
dzmin
of all the previous
dz
is smaller that
0.2
then the
index
of that vertex is returned.
l664 : The closest vertex to the dimuon system.
l669-l670: The specific dzmin of the vertices with the dimuon system is saved.
l676 : The true z coordinate from MC.
l678-l699 : Info on the true vertex.
l701-l702 : The z of the closest vertex to the dimuon system.
A few notes on the
select method
focusing on Ztomumu in the
LegacyVertexSelector.cc code
:
vertexCandidateMap
is a map between vertices and tracks BUT due to
flashggVertexMapUnique
in
flashggTkVtxMap_cfi.py
a track is associated only with the closest vertex (and not to multiple vertex)
and only if
dz < 0.2 (delta Z of track with vertex z)
.
So, the select method loops through all the primary vertices finding the corresponding tracks in this
line
. Then he skips the tracks that are around the two muons (
Delta R1,2 < 0.002, Delta Pt1,2 < 0.1
) he selected.
For the rest of the tracks:
Those that are
within DeltaR1,2 < 0.05
(in the cone) their
sumpt2_in
is calculated and
those that are
DeltaR1,2 > 0.05
their
sumpt2_out
is calculated.
Also,
ptbal
and
ptasym
is calculated as is described in the analysis note but for tracks outside the cone of
Delta R = 0.05
. So, with
sumpt2_out
these are the variables used for the vertex identification.
vlogsumpt2 : The
log( sumpt2_in + sumpt2_out )
for all the vertices.
vptbal : The
ptbal
for all the vertices.
vptasym : The
ptasym
for all the vertices.
vmva : The
mva value
(
VertexIdMva _->EvaluateMVA( "BDT" ) ) for all the vertices.
pairToSort :
pair
of index of vertex with its mva value.
sorter : Saves all
pairToSort
.
Finally, he sorts the pair (
vertex, mva value
) with the
max mva value
vertex at
[0]
position.
nVtxSaveInfo : Saves info up to
99 vertices
.
dipho_pt_ : The
pt
of the dimuon system that passed the selection.
MVA0_ : The
maximum mva
value of the best vertex.
MVA1_ : The
second to maximum mva
value of the second best vertex.
MVA2_ : The
third to maximum mva
value of the third best vertex.
dZ1_ : The
delta z
of the best vertex to the
second
best vertex.
dZ2_ : The
delta z
of the best vertex to the
third
best vertex.
vtxprobmva_ : The
vertex mva probability
.
The select method returns the
best vertex from the mva
.
getInfoFromLastSelection : It returns the
selected best vertex vtxprobmva
to valwithMu and valNoMu.
getAllInfoFromLastSelection : It returns to allWithMu and to allNoMu the selected best vertex info (
IN THIS SPECIFIC ORDER
):
vtxprobmva_
,
logsumpt2selected_
,
ptbalselected_
,
ptasymselected_
,
dZ1_
,
dZ2_
(see below explanation section on these variables).
Explanation on variables in final tree
Before moving on to the final analysis plots we write here some explanations on the variables of the
final tree (
vtxTree
).
MyInfo :
nPU : Number of formally mixed-in interactions, which can be larger than the
number of interactions with stored properties. (
getPU_NumInteractions()
)
diMuonMass : The
mass
of the dimuon system that not only pass the selection but
also has the closest mass to the
Zmass
.
diMuonPt : The
Pt
of the dimuon system that not only pass the selection but
also has the closest mass to the
Zmass
.
nTracks : The
total number of tracks
in the event at the reconstructed primary vertices for mu case (using muon tracks)
for dimuon candidates (that is, at least two muons that pass the above selection and the dimuon system mass is
between 50 and 1000
GeV.)
nTracksNoMu : The
total number of tracks
in the event at the reconstructed primary vertices for nomu case (refitted vertex
without muon tracks) for dimuon candidates (that is, at least two muons that pass the above selection and the dimuon system mass is
between 50 and 1000
GeV.)
nVtx/nVtxNoMu :
Total number of primary vertices
for events that have dimuon candidates for mu/nomu case.
zChosenWithMu/zChosenNoMu : The
z
position of the selected primary vertex for mu/nomu case.
ptChosenWithMu/ptChosenNoMu : The
pt
of the tracks in the selected primary vertex for mu/nomu case.
nTracksChosenWithMu/nTracksChosenNoMu : The
total number of tracks
associated with the selected primary vertex for mu/nomu case.
mvaProbWithMu/mvaProbNoMu : The
mva probability
for the selected primary vertex for mu/nomu case.
zZerothWithMu/zZerothWithMu : The
z
position of highest sum of the Pt squared primary vertex (zeroth from now on).
ptZerothWithMu/ptZerothNoMu : The
pt
of the zeroth primary vertex.
nTracksZerothWithMu/nTracksZerothNoMu : The
total number of tracks
associated with the zeroth primary vertex.
logSumPt2WithMu/logSumPt2NoMu :
log( sumpt2_in + sumpt2_out )
but skipping those tracks close to muons (
Delta R1,2 < 0.002, Delta Pt1,2 < 0.1
)
and
in
and
out
are with respect to
0.05 DeltaR
cone but ok no effect here this number) for mu/nomu case.
ptBalWithMu/ptBalNoMu : The
ptbal
variable for the selected best vertex.
ptAsymWithMu/ptAsymNoMu : The
ptasym
variable for the selected best vertex.
dZ1WithMu/dZ1NoMu : The
delta z
of the best vertex to the second best vertex for mu/nomu case.
dZ2WithMu/dZ2NoMu : The
delta z
of the best vertex to the third best vertex for mu/nomu case.
probWithMu/probNoMu : Have to understand these numbers.
dzMatchingWithMu/dzMatchingNoMu : The
delta z
of the closest vertex to the dimuon system impact parameter.
zTrue : The
true z vertex
coordinate from MC.
zRecoTrue/zRecoTrueNoMu : The
z
position of the reconstructed vertex that is closest to the true vertex.
ptRecoTrue/ptRecoTrueNoMu : The
pt
of the reconstructed vertex tracks that is closest to the true vertex.
nTracksRecoTrue/nTracksRecoTrueNoMu : The
total number of tracks
of the reconstructed vertex that is closest to the true vertex.
zNextRecoTrue/zNextRecoTrueNoMu : The
z
position of second closest reconstructed vertex to the true vertex.
zRecoFromMu/zRecoFromMuNoMu : The
z
position of the closest vertex to the dimuon system impact parameter.
muonsConsistentWithMu/muonsConsistentNoMu : In case of
inconsistent muons
it takes the
0
value, else it is
1
.
If the vertex closest to the one muon is different to the vertex closest to the second muon then the
muons are inconsistent. Closest meaning with respect to the impact parameter of the muon (vz of the muon).
MuonInfo :
For the dimuon candidate that has the closest mass to the
Zmass
some info is saved for the
two muons.
mu1eta/mu2eta :
Eta
of the mu1/mu2.
mu1pt/mu2pt :
Pt
of the mu1/mu2.
mu1vx/mu2vx :
x
coordinate of the vertex related to mu1/mu2.
mu1vy/mu2vy :
y
coordinate of the vertex related to mu1/mu2.
mu1vz/mu2vz :
z
coordinate of the vertex related to mu1/mu2.
mu1dB/mu2dB : Tracker track transverse impact parameter for mu1/mu2. Type of
the impact parameter is
BS3D
so it is
w.r.t. the beamspot
. More info
here
and
here in the code
.
mu1edB/mu2edB :
Uncertainty
of the Tracker track transverse impact parameter for mu1/mu2.
mu1sip/mu2sip : The impact parameter significance
sip
, defined as the ratio of the impact to its estimated uncertainty.
mu1dzBS/mu2dzBS :
Longitudinal distance
of the tracker track wrt beamspot.
mu1dxyBS/mu2dxyBS :
tracker track transverse impact parameter
wrt beamspot, in
MuonId they say it should have tiny
differences with
dB
method above.
BSInfo :
BSx :
x
coordinate of the beamspot.
BSy :
y
coordinate of the beamspot.
BSz :
z
coordinate of the beamspot.
BSsigmaz : The generated particles have the production vertex at the origin (0,0,0) of the coordinate system.
Therefore, to simulate a realistic luminous region the vertices of the generated particles are smeared by a
Gaussian distribution in Z. This is the
standard deviation
of the gaussian (sometimes called
RMS
.
In case of perfect gaussian data and infinite statistics RMS -> sigma).
Samples
We started from Julie's ntuples:
Data: /DoubleMuon/malcles-DoubleMuon-Run2017B-PromptReco-NewMini-v2-db2c70837ea49ff752a17c3954ca82e7/USER
MC: /DYJetsToLL_M-50_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/
malcles-DYJetsToLL_M-50-amcatnloFXFX-RunIISummer16DR80-PUMoriond17_TrancheIV_
AllVerticesCollFiltered-976d85454dee5693043f543f72e83006/USER
and put our output here:
MC: /eos/cms/store/user/apsallid/VertexID/DYJetsToLL_M-50_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8
Data: /eos/cms/store/user/apsallid/VertexID/DoubleMuon
Luminosity
First, let's see how much luminosity there is in the final data ntuples we produced.
We take the
AND
(intersection) of the Good Run List (
GRL
) defined in the golden JSON file
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions17/13TeV/PromptReco/Cert_294927-304120_13TeV_PromptReco_Collisions17_JSON.txt
with the processed lumis from the crab report here
crab_projects/crab_VtxHighMass928-ZDATA25ns_Run2017Bv2
and run:
compareJSON.py --and processedLumis.json
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions17/13TeV/PromptReco/
Cert_294927-304120_13TeV_PromptReco_Collisions17_JSON.txt
DoubleMuon_Good.txt
Now, we are ready to calculate the correct luminosity recorded
brilcalc lumi -b "STABLE BEAMS" -i DoubleMuon_Good.txt -u /fb
Here is the result:
#Summary:
+-------+------+------+------+-------------------+------------------+
| nfill | nrun | nls | ncms | totdelivered(/fb) | totrecorded(/fb) |
+-------+------+------+------+-------------------+------------------+
| 7 | 17 | 3311 | 3311 | 0.760 | 0.681 |
+-------+------+------+------+-------------------+------------------+
PU reweighting
To produce the pileup reweighting file we follow the official recipe here:
https://twiki.cern.ch/twiki/bin/view/CMS/PileupJSONFileforData#Pileup_JSON_Files_For_Run_II
For this we will use our specific JSON file above (
DoubleMuon_Good.txt
) to mask the pile up JSON provided centrally.
So, in this example we do:
pileupCalc.py -i DoubleMuon_Good.txt
--inputLumiJSON /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions17/13TeV/
PileUp/pileup_latest.txt --calcMode true --minBiasXsec 69200 --maxPileupBin 80
--numPileupBins 80 MyDataPileupHistogram.root
Beamspot reweighting
The beamspot has a certain width in MC which is not necessarily the same in data.
For the data/MC to agree, we should reweight the MC to match the data Beamspot width, using
dZ
as a proxy
(they have a factor of
sqrt(2)
because you are subtracting one gaussian distributed quantity from another).
In 2016 it was:
float mcBeamSpotWidth_=5.14; //cm
float dataBeamSpotWidth_=3.5; //cm
Step 2 Analysis Plots
Training: First Step
Notes on Validation/plugins/vertexTrainingTreeMaker.cc
Essentially, this code creates the signal and bkg trees to be used as input in the mva code later on.
So, someone takes the true vertex for the signal and a random wrong vertex for the bkg.
The sorted index function at lines
224
and
270
connects the index of the primary vertex finally chosen (for the signal it is the closest vertex to the
true vertex, for the background a random incorrect vertex) to the diphoton pair index vertex.
The important thing to remember is that the
LegacyVertexSelector.cc
would crash the whole code, that
is when running Validation/python/vertexTrainingTreeMaker_cfg.py, if the order of adding variables in
LegacyVertexSelector.cc
here
is not the same as the one in the xml file input
here
Keep in mind the following: It may seem mind confusing that
vertexTrainingTreeMaker.cc
and
vertexProbTrainingTreeMaker.cc
apply
the vtxID selection in diphoton candidates. Indeed,
DiphotonProducer.cc
here
is used and includes vertex ID (
vertexselector
) to do vertex index sorting and pick up correct vertex.
Then, someone could argue that this is wrong since this is exactly what we want to study, that is
the
xml files
used in the
LegacyVertexSelector.cc
is not the correct ones. We want to produce those and this is
the reason that
vertexTrainingTreeMaker.cc
and
vertexProbTrainingTreeMaker.cc
are used.
However, using
process.flashggDiPhotons.nVtxSaveInfo = cms.untracked.uint32(999)
in
vertexTrainingTreeMaker_cfg.py
and
vertexProbTrainingTreeMaker_cfg.py
all vertexes are kept.
The true vertex is taken for the signal (from genparticles) and a random wrong vertex for the bkg.
So, we are safe.
So, coming back to the
LegacyVertexSelector.cc
crash,
xml files
can crash the code even though
they are useless in this case.
Creating the training tree
For crab related notes look in the crab notes subsection. Here we will run on
/GluGluHToGG_M120_13TeV_amcatnloFXFX_pythia8/RunIIFall17MiniAOD-94X_mc2017_realistic_v10-v1/MINIAODSIM
The relevant config file is
crab_vertexTrainingTreeMaker.py
. To run things a little faster we
chose
config.Data.splitting = 'EventAwareLumiBased'
, since from DAS we knew that for this
sample the total number of events is
480822
. So, we split to
2000 events per job
and finally got
260 jobs
.
List of commands we used:
crab checkwrite --site=T2_CH_CERN --lfn=/store/user/apsallid/VertexID/TrainingTreeMaker
crab submit -c crab_vertexTrainingTreeMaker.py --dryrun
crab proceed -d crab_projects/crab_Vtx942TrainingTreeMaker_MC
crab status -d crab_projects/crab_Vtx942TrainingTreeMaker_MC
crab report -d crab_projects/crab_Vtx942TrainingTreeMaker_MC
Finally,
hadd
the output.
Same as above but now the relevant config file is
crab_vertexProbTrainingTreeMaker.py
.
List of commands we used:
crab checkwrite --site=T2_CH_CERN --lfn=/store/user/apsallid/VertexID/ProbTrainingTreeMaker
crab submit -c crab_vertexProbTrainingTreeMaker.py --dryrun
crab proceed -d crab_projects/crab_Vtx942ProbTrainingTreeMaker_MC
crab status -d crab_projects/crab_Vtx942ProbTrainingTreeMaker_MC
crab report -d crab_projects/crab_Vtx942ProbTrainingTreeMaker_MC
Training: Second Step
MVA Training notes
Some notes on the options used in training. For a good summary of options look
here
.
nTrain_Signal=0, nTrain_Background=0 : The signal and background events are split in half for training and testing.
SplitMode=Alternate : Events are chosen in alternating turns for the training and test samples as they occur in the source trees
until the desired numbers of training and test events are selected.
NormMode=NumEvents : In some cases event weights are given by Monte Carlo generators, and may turn out to be overall
very small or large numbers. To avoid artifacts due to this, TMVA can internally renormalize the
signal and background training(!) weights such that their respective sums of effective (weighted)
events is equal.
Here we choose
EqualNumEvents
option. So, renormalisation of the training events such that the sum of event weights of the Signal and Background events,
respectively are equal to the number of events
nTrain_Signal, nTrain_Background
.
Important note:
Since we specified
nTrain_Signal=0
,
nTrain_Background=0
, the ratio will be according to total numbers of
MC events in the signal and background respectively, which could be very different from the usually good ratio of having
about the same weighted number signal and background events in the training. In that case it is better to use
EqualNumEvents
than
NumEvents
. In this case, for the signal events, the same is done as for
NumEvents
. However,
background events are reweighted such, that their sum of weights equals that for the signal events.
This results in the same effective (weighted) number of signal and background events to be seen in the training.
!CreateMVAPdfs : If the option
CreateMVAPdfs
was used, then TMVA would have created signal and background PDFs from the corresponding
MVA response distributions using the training samples.
NTrees=1000 : Number of trees in the forest.
MinNodeSize=2.5% : Minimum percentage of training events required in a leaf node.
MaxDepth=5 : Max depth of the decision tree allowed.
BoostType=Grad : Boosting type for the trees in the forest.
UseBaggedBoost : Use only a random (bagged) subsample of all events for growing the trees in each iteration.
Shrinkage=0.30 : Learning rate.
BaggedSampleFraction=0.6 : Relative size of bagged event sample to original size of the data sample
(used whenever bagging is used (i.e. Use
BaggedBoost, Bagging) .
SeparationType=GiniIndex : Separation criterion for node splitting.
nCuts=20 : Number of grid points in variable range used in finding optimal cut in node splitting.
Running TMVA and TMVAGui for plots
ROOT6
has issues with TMVA plotting so we go with
ROOT5
. Important thing is to
start fresh and after logging in to lxplus do the following:
source /cvmfs/sft.cern.ch/lcg/releases/LCG_87/gcc/4.9.3/x86_64-slc6/setup.sh
source /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.36/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh
cp /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.36/x86_64-slc6-gcc49-opt/root/tmva/test/TMVAGui.C .
Then, modify in
TMVAGui.C
header:
#include ?tmvaglob.C?
to
#include "/afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.36/x86_64-slc6-gcc49-opt/root/tmva/test/tmvaglob.C"
To perform the training use
VertexMva.C
or
VertexMvaProb.C
. Open and correct the input file to the one you
produced from either the
vertexTrainingTreeMaker_cfg.py
or
vertexProbTrainingTreeMaker_cfg.py
.
root.exe VertexMva.C 2>&1 | tee logwithcategoryclassifier.log &
root.exe VertexMvaProb.C 2>&1 | tee Problogwithcategoryclassifier.log &
Copy locally the file with the
MVA training output and to see the
TMVAGui
and produce plots do:
root.exe TMVAGui.C
root.exe TMVAGui.C\(\"outputTMVA_BDTVtxProb.root\"\)
Checking the per event probability parametrization
The relevant code is
mvaProb_effvsmvaprob.cc
. Just run it in
ROOT6
:
root.exe mvaProb_effvsmvaprob.cc
since in
ROOT5
used above by the TMVA the stat box cannot be erased. The code will print a latex table on screen.
Training: Third Step
How the training result is used?
At the
Validation/plugins/outputAnalyzerDiMuHighMass.cc
in lines
604
and
610
valWithMu
and
valNoMu
are the
mvaProb
values for the selected best vertex.
Then at lines
652 to 653
this is used to calculate the
event by event probability
to find the vertex lying within
one centimeter
of the true one.
They have found this parametrized form of the per event probability by fitting the
efficiency vs mvaprob
graph.
Someone runs his main code where he includes this line:
process.load("flashgg/Taggers/flashggTagSequence_cfi")
In
line 11
of the
flashggTagSequence_cfi
the
flashggDiPhotonMVA
is called. In this file we can see the input to
DiPhotonMVAProducer
below
line 18
.
In
lines 30-31
we can see how it is used:
VertexProbParamsConv=cms.vdouble(-0.045,-0.148,-0.328,-0.184),
VertexProbParamsNoConv=cms.vdouble(-0.366,-0.126,-0.119,-0.091),
The relevant
tag
object is the object which handles the final mva values (which includes also
mvaProb
).
For example in
VBFTagProducer
it is
VBFTag
,
which inherits from
DiPhotonTagBase
.
Outline of the whole training procedure
1. Use
vertexTrainingTreeMaker.cc
(flashgg default) to dump variables and do the BDT training and get the xml file.
2.Include
xml file
into
vertexProbTrainingTreeMaker_cfg.py
and copy it in the
MicroAOD/data
directory.
3. Use
vertexProbTrainingTreeMaker
and dump relevant variables for
MVA prob and do the second mva training. We get another xml file.
4. Put the path of these two xml files into
flashggDiPhotons_cfi.py
and redo the Z-> mumu efficiency plot.
Summary of files needed.
LegacyVertexSelector.cc
vertexTrainingTreeMaker.cc
vertexProbTrainingTreeMaker.cc
vertexTrainingTreeMaker_cfg.py
vertexProbTrainingTreeMaker_cfg.py
crab_vertexTrainingTreeMaker.py
crab_vertexProbTrainingTreeMaker.py
TMVAGui.C
VertexMva.C
VertexMvaProb.C
mvaProb_effvsmvaprob.cc
Notes on the HGCal production
Follow the official production workflow:
https://github.com/CMS-HGCAL/reco-prodtools
.
Photons
The
GEN-SIM-DIGI
step:
python SubmitHGCalPGun.py --datTier GSD --nevts 2 --evtsperjob 1 --queue 1nh --partID 22 --nPart 1 --thresholdMin 35 --thresholdMax 35 --gunType Pt --eosArea /eos/cms/store/user/apsallid/HGCal --tag PDGId22_nPart1_Pt35
The above will create a directory in the
eosArea
named
partGun_PDGId22_nPart1_Pt35_[DATE]
with
1 events per job
,
2
in total. If you include
--local False
, even if it is set to false it will save the output root file only locally.
The
RECO
step:
python SubmitHGCalPGun.py --datTier RECO --evtsperjob 1 --queue 1nh --inDir partGun_PDGId22_nPart1_Pt35_20170113 --eosArea /eos/cms/store/user/apsallid/HGCal --tag PDGId22_nPart1_Pt35
The
NTUP
step:
python SubmitHGCalPGun.py --datTier NTUP --evtsperjob 1 --queue 1nh --inDir partGun_PDGId22_nPart1_Pt35_20170113 --eosArea /eos/cms/store/user/apsallid/HGCal --tag PDGId22_nPart1_Pt35
ECAL Task : Run dependent conditions
We are going to keep notes regarding the work on computation of run-dependent conditions weighted in luminosity to reproduce data conditions.
Set up working area
Here we are going to setup the CMSSW working area.
#B9DAFF;padding:2px;margin:2px; height:410px;width:80%" >
# For the moment we choose to work in 7_5_0_pre6
cmsrel CMSSW_7_5_0_pre6
cd CMSSW_7_5_0_pre6/src
cmsenv
git cms-addpkg Calibration/Tools
git cms-addpkg CalibCalorimetry/EcalTrivialCondModules
git clone https://github.com/ferriff/usercode usercode
git clone https://github.com/bmarzocc/NoiseValidation NoiseValidation
# DRings is required
wget https://github.com/cms-cvs-history/Calibration-Tools/raw/master/interface/DRings.h
wget https://github.com/cms-cvs-history/Calibration-Tools/raw/master/src/DRings.cc
mv DRings.h Calibration/Tools/interface/.
mv DRings.cc Calibration/Tools/src/.
# Always check correct version with the recommended from
# https://twiki.cern.ch/twiki/bin/view/CMS/LumiCalc
git clone https://github.com/cms-sw/RecoLuminosity-LumiDB.git $CMSSW_BASE/src/RecoLuminosity/LumiDB
cd $CMSSW_BASE/src/RecoLuminosity/LumiDB
git checkout V04-02-10
cd -
scram b -j 16
Helpful definitions and tools
There is a DBv2 tool to check what are the parameters in any DB (prod, prep and even sqlite file) : conddb. Here we will
access and dump the pedestals of a specific run with two different ways. The command
conddb list EcalPedestals_hlt -L 860 | grep 124598
will give as the info for the payload of run 124598 (-L prints more than the default number of lines in
order to reach the line we wish to grep). For the above example is
5ba5e050bc821ee94fdb0a30fc6c32098ffc4fc4
. So to produce the xml file for this run we do:
conddb dump 5ba5e050bc821ee94fdb0a30fc6c32098ffc4fc4 > EcalPedestals_hlt_124598.xml
And we have the info in xml format. Alternatively, we can use the
ped_dump.cpp
code in the usercode directory.
cd $CMSSW_BASE/src/usercode/DBDump/bin
ped_dump -c frontier://FrontierProd/CMS_COND_310X_ECAL_PED -t EcalPedestals_hlt -r 124598 -R 124598
The dump_EcalPedestals_hlt__since_00124598_till_00125137.dat that is produced has the same info plus some more that can be seen from the header.
A few helpful notifications on terminology now. In the above command
-c
option is calling the Frontier caching servers and CMS_COND_310X_ECAL_PED is the
account.
EcalPedestals _hlt is the tag with the noise we are interested and belongs to the record
EcalPedestalsRcd. Detailed information about records, related tags and
accounts for all runs can be found in the
EcalDB twiki. For this work on noise and laser corrections the records(tags)(account) of interest are (recheck these):
Many tags are prepared in PREP DB and, once validated, are introduced in PROD DB. The set of database tags which together define the offline conditions data are
collected together in a Global Tag, which is itself stored in the database. In order to know what it is contained in a global tag (records, tags, payloads) check the twiki page
on the
Frontier Conditions and follow the links to see and search for the ECAL tag of your interest.
Also, IOV is Interval of Validity that is the contiguous (in time) set of events for which calibration or alignment data are to be used in reconstruction. Each payload object is indexed by its IOV.
More info on the concept
here.
Luminosity
CMS keeps track of both “delivered” and “recorded” luminosity. Delivered luminosity refers to the luminosity delivered to
CMS by the LHC.
Ideally, the amount of luminosity recorded should be the same as the amount delivered, but in some cases the
CMS detector is unable to take data,
either because its data acquisition chain is busy or because one or more of its detector subsystems is temporarily unavailable.
The recorded luminosity includes only the luminosity actually logged by
CMS.
The detector can also be affected by “dynamic inefficiencies” when the data rate becomes very high, causing the data acquisition system to become busy and preventing
data taking. This effect is in general quite small, less than 0.5% overall. In addition, “afterglow” due to detector material activation can
cause out-of-time response in the pixel cluster count. The afterglow effect was modeled assuming an exponential decay, and the effect was determined to be ~2%.
At
CMS the GOOD run bookkeeping is maintained using files in JSON format (more info
here).
When part of the data at a given stage is certified, a JSON file is produced along and can be used to select events in samples at that stage.
The JSON files corresponding to a given data sample are stored in AFS:
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/
but can be also accessed through the web in the link
https://cms-service-dqm.web.cern.ch/cms-service-dqm/CAF/certification/
The instantaneous bunch-by-bunch luminosities and the delivered and recorded luminosity for each
LumiSection are obtained by doing a Luminosity
DataBase query
using the script lumiCalc2.py provided in
RecoLuminosity /LumiDB (for the official twiki see
here).
Testing the run dependent conditions in Run1
The methodology and work to provide the new conditions as a function of luminosity will be first tested in Ru1 using the Golden JSON file. Essentially,
All A, B, C and D datasets should be analysed using one single JSON file
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Reprocessing/Cert_190456-208686_8TeV_22Jan2013ReReco_Collisions12_JSON.txt
. If we decide on which runs to group then we can get the relevant JSON file using the filterJSON.py script:
filterJSON.py --min 190456 --max 191456 /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Reprocessing/Cert_190456-208686_8TeV_22Jan2013ReReco_Collisions12_JSON.txt --output 190456_191456_JSON.txt
and then average integrated recorded luminosity for specific runs taking into account only good lumi sections:
lumiCalc2.py -i 190456_191456_JSON.txt -b stable lumibyls
The final value for the pedestal in each channel will be:
ped = (ped1 * Lumi1 + ped2 * Lumi2 + ... + pedN*LumiN) / (Lumi1 + Lumi2 + ... + LumiN)
So, when we will be calculating the average weighted with lumi pedestal for a certain time period, we will be searching for all
good runs in that period and find for each run the corresponding IOV and the relevant pedestals. If different runs belongs to the
same IOV, they will have the same pedestal value but different lumi.
The following tools has been developed to accomplish the abovementioned task.
Next, is to write this info in an xml file and convert the xml to .db file that we should test.
Accessing the database: ECAL and ES
The interface with the database is achieved with the
EcalCondDBInterface
class. The informations it needs are:
OnlineDBSID/OnlineDBUser/OnlineDBPassword
. In ECAL case these are
cms_orcon_adg/cms_ecal_r/*****
. For ES these are
cms_orcon_adg//cms_es_conf/******
. Online Master Data System (
OMDS
) is the P5 DB.
cms_orcon_adg
is a read only database
account of ECAL in OMDS, and
cms_es_conf
an ES account. For other accounts click
here.
From lxplus with CMSSW
To access the database from lxplus the following setup is used:
cmsrel CMSSW_8_0_7
cd CMSSW_8_0_7/src
cmsenv
git cms-addpkg CondTools/Ecal
git cms-addpkg OnlineDB/EcalCondDB/
cp /afs/cern.ch/work/a/apsallid/public/ESDB/EcalPedestalHistory.cc CondTools/Ecal/plugins/.
cp /afs/cern.ch/work/a/apsallid/public/ESDB/EcalPedestalHistory.h CondTools/Ecal/plugins/.
cp /afs/cern.ch/work/a/apsallid/public/ESDB/runPedHist.py CondTools/Ecal/python/.
cp /afs/cern.ch/work/a/apsallid/public/ESDB/runPedHist_forCMS_ES_CONF.py CondTools/Ecal/python/.
echo "============================================================================"
echo "You should open runPedHist.py and add the pass yourself for safety reasons."
echo "============================================================================"
# Compile
scram b -j 16
# For ECAL
cmsRun CondTools/Ecal/python/runPedHist.py
# For ES
cmsRun CondTools/Ecal/python/runPedHist_forCMS_ES_CONF.py
If setup was correct, the
runPedHist.py
above will create a
PedHist.root
file, while the
runPedHist_forCMS_ES_CONF.py
only connects to
the database for now.
From online machines with sqlplus
ECAL
For this you should have a .CMS account. After logging in in order to access the database do:
sqlplus CMS_ECAL_R@cms_omds_lb/******
where you should put the pass for the
cms_ecar_r
account. The table that contains the pedestals is
MON_PEDESTALS_DAT
. To
see a description of the table do:
desc MON_PEDESTALS_DAT;
For more useful sql commands click here:
How to check specific columns, like ped_mean_g1:
SELECT i.ped_mean_g1 FROM MON_PEDESTALS_DAT i;
How many rows are in the table:
SELECT COUNT(*) FROM MON_PEDESTALS_DAT;
To get all the data from the table:
select * from MON_PEDESTALS_DAT;
To list all tables accessible to the current user (
cms_omds_lb
), type:
select tablespace_name, table_name from all_tables;
ES
For ES, after logging in in order to access the database do:
sqlplus CMS_ES_CONF@cms_omds_lb/******
where you should put the pass for the
cms_es_conf
account. The table that contains some pedestals is
ES_FE_CONF_DAT
. To
see a description of the table do:
desc ES_FE_CONF_DAT;
For more useful sql commands click here:
How to check specific columns, like pedestal and gain:
SELECT i.pedestal, i.gain FROM ES_FE_CONF_DAT i;
How many rows are in the table:
SELECT COUNT(*) FROM ES_FE_CONF_DAT;
To get all the data from the table:
select * from ES_FE_CONF_DAT;
To list all tables accessible to the current user (
cms_omds_lb
), type:
select tablespace_name, table_name from all_tables;
Notes on the Flashgg Framework
Official FLASHgg twiki:
https://twiki.cern.ch/twiki/bin/view/CMS/FLASHggFramework
Setup FLASHgg in lxplus (always cross-check with the official FLASHgg twiki):
cmsrel CMSSW_7_6_3_patch2
cd CMSSW_7_6_3_patch2/src
cmsenv
git cms-init
cd $CMSSW_BASE/src
git clone https://github.com/cms-analysis/flashgg flashgg
source flashgg/setup.sh
scram b -j 9
The so-called microAOD format is a subset of the MINIAOD produced by the flashgg framework, adding specific photon-related information.
Only high level objects such as photons, leptons, jets and MET are stored in microAOD by default. If additional information is needed, they need to be added explicitly to the output. To see what objects a microAOD file contains do for example:
edmDumpEventContent /store/group/phys_higgs/cmshgg/sethzenz/flashgg/RunIISpring15-50ns/Spring15BetaV3/VBFHToGG_M-125_13TeV_powheg_pythia8/RunIISpring15-50ns-Spring15BetaV3-v0-RunIISpring15DR74-Asympt50ns_MCRUN2_74_V9A-v1//150812_091012/0000/myMicroAODOutputFile_12.root
Type Module Label Process
------------------------------------------------------------------------------------------------------
GenEventInfoProduct "generator" "" "SIM"
edm::TriggerResults "TriggerResults" "" "HLT"
vector<PileupSummaryInfo> "addPileupInfo" "" "HLT"
double "fixedGridRhoAll" "" "RECO"
reco::BeamSpot "offlineBeamSpot" "" "RECO"
edm::TriggerResults "TriggerResults" "" "PAT"
vector<pat::MET> "slimmedMETs" "" "PAT"
vector<reco::GenJet> "slimmedGenJets" "" "PAT"
vector<reco::GsfElectronCore> "reducedEgamma" "reducedGedGsfElectronCores" "PAT"
vector<reco::PhotonCore> "reducedEgamma" "reducedGedPhotonCores" "PAT"
vector<reco::SuperCluster> "reducedEgamma" "reducedSuperClusters" "PAT"
vector<reco::Vertex> "offlineSlimmedPrimaryVertices" "" "PAT"
edm::TriggerResults "TriggerResults" "" "FLASHggMicroAOD"
vector<flashgg::DiPhotonCandidate> "flashggDiPhotons" "" "FLASHggMicroAOD"
vector<flashgg::DiPhotonCandidate> "flashggPreselectedDiPhotons" "" "FLASHggMicroAOD"
vector<flashgg::DiPhotonCandidate> "flashggFinalEGamma" "finalDiPhotons" "FLASHggMicroAOD"
vector<flashgg::Electron> "flashggSelectedElectrons" "" "FLASHggMicroAOD"
vector<flashgg::Electron> "flashggFinalEGamma" "finalElectrons" "FLASHggMicroAOD"
vector<flashgg::GenPhotonExtra> "flashggGenPhotonsExtra" "" "FLASHggMicroAOD"
vector<flashgg::Muon> "flashggSelectedMuons" "" "FLASHggMicroAOD"
vector<flashgg::Photon> "flashggPhotons" "" "FLASHggMicroAOD"
vector<flashgg::Photon> "flashggFinalEGamma" "finalPhotons" "FLASHggMicroAOD"
vector<pat::PackedGenParticle> "flashggGenPhotons" "" "FLASHggMicroAOD"
vector<reco::GenParticle> "flashggPrunedGenParticles" "" "FLASHggMicroAOD"
vector<reco::GsfElectronCore> "flashggFinalEGamma" "finalElectronCores" "FLASHggMicroAOD"
vector<reco::PhotonCore> "flashggFinalEGamma" "finalPhotonCores" "FLASHggMicroAOD"
vector<reco::SuperCluster> "flashggFinalEGamma" "finalSuperClusters" "FLASHggMicroAOD"
vector<vector<flashgg::Jet> > "flashggFinalJets" "" "FLASHggMicroAOD"
The microAOD files are been produced centrally. All Hgg group produced
MicroAOD ntuples are available on
CMS DAS:
https://cmsweb.cern.ch/das/.
For example, choose dbs instance "prod/phys03" and search: dataset=/*/*MicroAOD*/*.
Also, all
MicroAOD ntuples are also available in eos space. For example, in lxplus:
eos ls -ltr /store/group/phys_higgs/cmshgg/sethzenz/flashgg/RunIISpring15-25ns/Spring15BetaV5/
Here we are keeping some notes for a real life workflow, that is with enough statistics. We start with the case a user wants to produce microAOD
files for a process that is not centrally produced starting from the
MiniAOD.
# More info here: https://github.com/cms-analysis/flashgg/tre/master/MetaData
# Get ready to access MiniAOD files in the grid
# Test your grid certificate
grid-proxy-init -debug -verify
# Are you a member of the CMS VO?
voms-proxy-init -voms cms --valid 168:00
# State the campaign of your interest
campaign="RunIISpring15-ReMiniAOD-BetaV7-25ns"
# The FLASHgg version that will be used
flashggversion="Spring15BetaV7"
cd $CMSSW_BASE/src/flashgg/MetaData/work
./prepareCrabJobs.py -C $campaign -U 5 -L 25 -s campaigns/$campaign.json -V $flashggversion -p ${CMSSW_BASE}/src/flashgg/MicroAOD/test/microAODstd.py --lumiMask ${PWD}/jsons/Cert_JSONFileCollisions15_25ns_JSON.txt
cd $campaign
echo crabConfig_*.py | xargs -n 1 crab sub
Before going to second important step of submitting this
MicroAOD files to LSF batch system a certain necessary commands must be run.
# Import copies the list of files from DBS to a local json file called catalog
echo "Importing all datasets matching /*/*$campaign*-*$flashggversion*/USER"
fggManageSamples.py -C $campaign -V $flashggversion import
echo "List of files written in flashgg/MetaData/data/$campaign/dataset.json"
echo "Review catalog content and remove duplicates"
fggManageSamples.py -C $campaign review
echo "Check the content of catalog and validate"
fggManageSamples.py -C $campaign checklite
echo "Did you check that the catalog file was created?"
echo "See in flashgg/MetaData/data/$campaign/datasets.json"
echo "Did you check that the cross section database is Ok?"
echo "See in flashgg/MetaData/data/cross_sections.json"
Usually, the microAOD are centrally produced and can be accessed on the grid or eos, while the relevant catalog file has been
created and is already in your cmssw area. For a successful access though a note is important. Jobs submitted to the CERN batch
farm will look for a valid grid proxy in the location pointed to by
the environment variable
$X509_USER_PROXY
. To make your proxy available to the lxbatch jobs, first copy your proxy to an area
in afs, for example your home directory:
cp /tmp/x509up_uXXXX /afs/cern.ch/user/u/username/
If you are submitting a job with a script set this environment variable:
export X509_USER_PROXY=/afs/cern.ch/user/u/username/x509up_uXXXX
For creating and submitting the jobs to analyze the microAOD files fggRunJobs.py should be used. To see the options of the script
do
fggRunJobs.py -h
. What the user must provide in order for the script to successfully run is
- -x option: The cmsRun command of the dumper (flashgg/Taggers/test/diphotonsDumper_cfg.py).
- -d option: The directory with the necessary info of the jobs and the default output location.
- -n option: Up to how many jobs the events will be splitted. Cannot go below number of files.
- -b option: The batch system that will be used.
- -q option: The queue that the user wish to submit the jobs.
- --stage-to option: Output location.
- --no-copy-proxy option: If you did the
$X509_USER_PROXY
above.
- --load option: The json file with the input. For an example on data see here: RunIISpring15-ReMiniAOD-BetaV7-25ns_data.json. For an example on MC see here: VBFHToGG_samples.json
Apart from the above commands someone should provide some extra options in the end of his dumper (diphotonsDumper_cfg.py here). If we are running on data:
customize.setDefault("processType","data")
If we are running on MC:
# For more info on the targetLumi value see below notes on brilcalc
customize.setDefault("targetLumi",569.018)
customize.setDefault("maxEvents",-1.)
The following command is executed from
$CMSSW_BASE/src
, that's why you see the path to the dumper.
fggRunJobs.py --load $campaign.json -d testData -x cmsRun flashgg/Taggers/test/diphotonsDumper_cfg.py -n 500 -b lsf -q 2nd -D -P --no-use-tarball --stage-to /store/group/phys_b2g/apsallid/fgg/Data
# Check the status with
fggRunJobs.py --load testData/config.json --summary
A few notes now on the calculation of luminosity with brilcal.
# Always check the current recommended version here:
# http://cms-service-lumi.web.cern.ch/cms-service-lumi/brilwsdoc.html
# Add path to bashrc like this
export PATH=$HOME/.local/bin:/afs/cern.ch/cms/lumi/brilconda-1.0.3/bin:$PATH
# Install brilcalc
pip install --install-option="--prefix=$HOME/.local" brilws
# Tried to do update but it didn't succeed
# Calculate luminosity for the specific campaign
# First create the relevant json file
fggManageSamples.py -C $campaign getlumi "/DoubleEG/*2015C*/*" output=$campaign_2015C_asProcessed_JSON.txt
fggManageSamples.py -C $campaign getlumi "/DoubleEG/*2015D*/*" output=$campaign_2015D_asProcessed_JSON.txt
# Use brilcalc to measure luminosity of the campaign you processed
brilcalc lumi --normtag /afs/cern.ch/user/c/cmsbril/public/normtag_json/OfflineNormtagV1.json -i $campaign_2015D_asProcessed_JSON.txt
brilcalc lumi --normtag /afs/cern.ch/user/c/cmsbril/public/normtag_json/OfflineNormtagV1.json -i $campaign_2015C_asProcessed_JSON.txt
Working Example (~35.8 fb^-1)
Where to get information
Here we are going to keep some notes on how to analyze
2.1 fb^-1
of data using the flashgg framework.
We will need important information that will be given as input to the code. This is in:
In this forum there are announcements for the latest golden JSON file. For this example and the
relevant information click
here
In this twiki there is a little extra information compairing to the hypernews forum above.
- The flashgg official twiki: FLASHgg
Valuable information about the latest uptodate code.
In order to calculate the puTarget we need the latest pileup file as well as the values of the
input parameters in the relevant command. This forum gives the official and current recommendations.
- Mailing list: cms-flashgg on eGroups
Maybe the most important info is coming on this mailing list where latest MC and data catalogues
are announced. Catalogue is a json file that contains the path for all the processed MC and data
(AOD->MiniAOD->MicroAOD). This is where we can find out the input to our analysis. In this example
from the mailing list we have info on the catalogue
here
- Hypernews Forum: Everything related to higgs and photons
- Mailing list: cms-hgg-working on eGroups
Very important info on this mailing list also.
Setup
From the official flashgg twiki, for this example we are working with:
cmsrel CMSSW_8_0_26_patch1
cd CMSSW_8_0_26_patch1/src
cmsenv
git cms-init
cd $CMSSW_BASE/src
git clone https://github.com/cms-analysis/flashgg flashgg
cd flashgg
git checkout tag-Moriond17-v6
source setup.sh
cd $CMSSW_BASE/src
scram b -j 3
At the moment of this writing there is no issues with the installations apart from the usual
messages. However, in case of failure keep in mind the
scram b clean
command and then
try to recompile with
scram b
. If this doesn't help, look at the mailing list and
as a last resort sent an email.
Luminosity
At our analysis, we should include/exclude certain luminosity blocks. This is done because we may not have ‘good’ data,
because LHC not in stable-beam mode, or magnets Off or ramping, or sub-detectors switched off.
This is the Good Run List (GRL) and it is defined and accessed with the Golden JSON file.
For more info click
CMS keeps track of both “delivered” and “recorded” luminosity. Delivered luminosity refers to the luminosity delivered to
CMS by the LHC.
Ideally, the amount of luminosity recorded should be the same as the amount delivered, but in some cases the
CMS detector is unable to take data,
either because its data acquisition chain is busy or because one or more of its detector subsystems is temporarily unavailable.
The recorded luminosity includes only the luminosity actually logged by
CMS.
The detector can also be affected by “dynamic inefficiencies” when the data rate becomes very high, causing the data acquisition system to become busy and preventing
data taking. This effect is in general quite small, less than 0.5% overall. In addition, “afterglow” due to detector material activation can
cause out-of-time response in the pixel cluster count. The afterglow effect was modeled assuming an exponential decay, and the effect was determined to be ~2%.
At
CMS the GOOD run bookkeeping is maintained using files in JSON format (more info
here).
When part of the data at a given stage is certified, a JSON file is produced along and can be used to select events in samples at that stage.
The JSON files corresponding to a given data sample are stored in AFS:
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/
but can be also accessed through the web in the link
https://cms-service-dqm.web.cern.ch/cms-service-dqm/CAF/certification/
The instantaneous bunch-by-bunch luminosities and the delivered and recorded luminosity for each
LumiSection are obtained by doing a Luminosity
DataBase query
using the script lumiCalc2.py provided in
RecoLuminosity /LumiDB (for the official twiki see
here).
Now, on the case when we have processed data with DCS only JSON file (as in this example, see
here
)
we will end up with more runs that are not belonging to the GRL and the golder JSON file. So, in order to calculate correctly the luminosity the runs the are in DCS only JSON file and are not in the golden JSON file shouldn't be considered.
First, let's see how much luminosity is in the
MicroAOD file that have been processed for the samples in the
catalogue in this example (this
one
). For the commands in this calculation click
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2-2_2_0-v0-Run2016B-PromptReco-v1-6afd65c310508d0f49bd277bc7a8e5b1/USER" output=DoubleEG_Good_1.txt
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2-2_2_0-v0-Run2016B-PromptReco-v2-6afd65c310508d0f49bd277bc7a8e5b1/USER" output=DoubleEG_Good_2.txt
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2-2_2_0-v0-Run2016C-PromptReco-v2-9a092465adbfb13c40886e07b86f6d23/USER" output=DoubleEG_Good_3.txt
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2_p2-2_2_0-v0-Run2016B-PromptReco-v2-6afd65c310508d0f49bd277bc7a8e5b1/USER" output=DoubleEG_Good_4.txt
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2_p2-2_2_0-v0-Run2016C-PromptReco-v2-9a092465adbfb13c40886e07b86f6d23/USER" output=DoubleEG_Good_5.txt
fggManageSamples.py -C RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2 getlumi "/DoubleEG/ferrif-RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2_p2-2_2_0-v0-Run2016D-PromptReco-v2-9a092465adbfb13c40886e07b86f6d23/USER" output=DoubleEG_Good_6.txt
So, in the following lines we take the AND (intersection) of the GRL defined in the golden JSON file
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Cert_271036-276384_13TeV_PromptReco_Collisions16_JSON_NoL1T.txt
and the lumi sections of the samples above.
Very helpful script for this is the
compareJSON.py
file. No need to download it, it is already in the
PATH
when
set the
cmsenv
enviroment. For the specific commands click
compareJSON.py --or DoubleEG_Good_1.txt DoubleEG_Good_2.txt DoubleEG_Good_7.txt
compareJSON.py --or DoubleEG_Good_3.txt DoubleEG_Good_4.txt DoubleEG_Good_8.txt
compareJSON.py --or DoubleEG_Good_5.txt DoubleEG_Good_6.txt DoubleEG_Good_9.txt
compareJSON.py --or DoubleEG_Good_7.txt DoubleEG_Good_8.txt DoubleEG_Good_10.txt
compareJSON.py --or DoubleEG_Good_9.txt DoubleEG_Good_10.txt DoubleEG_Good_11.txt
compareJSON.py --and DoubleEG_Good_11.txt /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Cert_271036-276384_13TeV_PromptReco_Collisions16_JSON_NoL1T.txt DoubleEG_Good.txt
For more info on this kind of scripts see
here.
Now, we are ready to calculate the correct luminosity recorded. We use
brilcalc
. Keep in mind that
you may have an error message of the form
brilcalc: No match
. Usually in this case you have to
uninstall and install again following the instructions
here
.
For the correct options in the
brilcalc
command you can look the
PdmV twiki or the luminosity hypernews forum.
In this example:
brilcalc lumi -b "STABLE BEAMS" --normtag /afs/cern.ch/user/l/lumipro/public/normtag_file/normtag_DATACERT.json -i DoubleEG_Good.txt
And after some print out here is the result:
#Summary:
+-------+------+-------+-------+-------------------+------------------+
| nfill | nrun | nls | ncms | totdelivered(/ub) | totrecorded(/ub) |
+-------+------+-------+-------+-------------------+------------------+
| 45 | 146 | 74615 | 74610 | 9621445925.520 | 9234354520.240 |
+-------+------+-------+-------+-------------------+------------------+
Keep a note on the
totrecorded
value. We will need this number to input to our configuration script. However, for the signal this is not
needed since in the workspaces this is changed later, so it has no effect.
Next we need to calculate the
puTarget
that we will give as input to our configuration script.
For this we will use our specific JSON file above (
DoubleEG_Good.txt
) to mask the pile up JSON provided centrally.
So, in this example we do:
pileupCalc.py -i DoubleEG_Good.txt --inputLumiJSON /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/PileUp/pileup_latest.txt --calcMode true --minBiasXsec 71300 --maxPileupBin 50 --numPileupBins 50 pileup.root
For the min bias cross section value there is usually an announcement in the luminosity hypernews forum
to what should someone use. In our case here is the
info
.
For more info on this command see
here.
Finally, we should transform the pileup distribution that we have in the
pileup.root
file in the
format that the flashgg code wants. For this do:
cp /afs/cern.ch/work/a/apsallid/public/Stathes/transformpileupforflash.py .
python transformpileupforflash.py pileup.root
It will print the values of the
puTarget
to be used. Usually there is an email in the flashgg mailing list to
crosscheck these values. The pileup target we get depends on the
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/PileUp/pileup_latest.txt
file. So, for:
/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Cert_271036-274421_13TeV_PromptReco_Collisions16_JSON.txt
and the latest pileup file
at the moment
of the writing the
puTarget
is
puTarget=2.18e+03,2.4e+04,7e+04,1.98e+05,3.61e+05,6.19e+05,1.29e+06,9e+06,2.33e+07,3.11e+07,4.09e+07,5.77e+07,8.37e+07,1.16e+08,1.51e+08,1.84e+08,2.06e+08,2.11e+08,2.01e+08,1.82e+08,1.56e+08,1.28e+08,9.8e+07,7.05e+07,4.72e+07,2.94e+07,1.71e+07,9.23e+06,4.68e+06,2.24e+06,1.02e+06,4.36e+05,1.78e+05,6.87e+04,2.51e+04,8.62e+03,2.79e+03,851,244,66.2,17.1,4.25,1.04,0.257,0.0658,0.0178,0.00504,0.00146,0.000424,0.000121
Checks: Cross section, dijet_mva, scale and smearing factors
- We should check that the cross section file in flashgg/MetaData/data/cross_sections.json contains all the values we want for the samples we use.
- We should add the variable dijet_mva to the workspace files:
cp /afs/cern.ch/work/a/apsallid/public/Stathes/SystematicDumperDefaultVariables.py $CMSSW_BASE/src/flashgg/Systematics/python/SystematicDumperDefaultVariables.py
and copy them to
EgammaAnalysis/ElectronTools/data
:
cp /afs/cern.ch/user/g/gfasanel/public/test_2016B/Golden10June_plus_DCS_scales.txt $CMSSW_BASE/src/EgammaAnalysis/ElectronTools/data/Golden10June_plus_DCS_scales.dat
cp /afs/cern.ch/user/g/gfasanel/public/test_2016B/Golden10June_plus_DCS_smearings.txt $CMSSW_BASE/src/EgammaAnalysis/ElectronTools/data/Golden10June_plus_DCS_smearings.dat
Observe the change from
.txt
to
.dat
extension. Then we should change here also this
line
to this prefix:
scalesAndSmearingsPrefix = cms.string("EgammaAnalysis/ElectronTools/data/Golden10June_plus_DCS")
Main configuration file and input
Our main configuration file that will run for workspaces, histos and trees is
$CMSSW_BASE/src/flashgg/Systematics/test/workspaceStd.py
. At the last lines we should give the luminosity:
2069.53 pb^-1
(in
pb^-1
see results above) and should not forget to apply
lumiMask
at analysis level. The main script that will help us sent jobs in the cluster is
fggRunJobs
and for input we need (the least) the following:
- Input json file with samples to process.
- Full path to the output directory (partial path cause failure).
-
puTarget
, target lumi
and the lumi mask
file location.
To avoid sending all jobs together we choose to sent them as
background
,
signal
,
data
. Many json files are in the
flashgg/Systematics/test
directory, however we make from those new ones to include the campaign we want and copy them to the
Systematics/test
folder:
# Signal
cp /afs/cern.ch/work/a/apsallid/public/Stathes/sig_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
# Background
cp /afs/cern.ch/work/a/apsallid/public/Stathes/fakefake.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/promptfake.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/promptprompt.json $CMSSW_BASE/src/flashgg/Systematics/test/.
# Data
cp /afs/cern.ch/work/a/apsallid/public/Stathes/data_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
They should always be inspected to contain the correct samples and campaign. We will use the
fggRunJobs
script for each of the above in each local/eos directory. Click
# Local
mkdir -p $CMSSW_BASE/src/testMCandData/sig_jobs
mkdir -p $CMSSW_BASE/src/testMCandData/wh_sig_jobs
mkdir -p $CMSSW_BASE/src/testMCandData/tth_sig_jobs
mkdir -p $CMSSW_BASE/src/testMCandData/fakefake
mkdir -p $CMSSW_BASE/src/testMCandData/promptfake
mkdir -p $CMSSW_BASE/src/testMCandData/promptprompt
mkdir -p $CMSSW_BASE/src/testMCandData/data
# eos
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/sig_jobs
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/sig_jobs
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/wh_sig_jobs
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/wh_sig_jobs
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/tth_sig_jobs
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/tth_sig_jobs
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/fakefake
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/fakefake
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/promptfake
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/promptfake
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/MC/promptprompt
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/MC/promptprompt
eos mkdir /store/user/apsallid/HggAnalysis/input/testing/data
eos chmod 755 /store/user/apsallid/HggAnalysis/input/testing/data
We have altered the code so that to run only the tag we care, with the selection we want. So, take the altered files here:
cp /afs/cern.ch/work/a/apsallid/public/Stathes/SystematicDumperDefaultVariables.py $CMSSW_BASE/src/flashgg/Systematics/python/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/workspaceStd.py $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/flashggTagSequence_cfi.py $CMSSW_BASE/src/flashgg/Taggers/python/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/flashggTagSorter_cfi.py $CMSSW_BASE/src/flashgg/Taggers/python/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/flashggTags_cff.py $CMSSW_BASE/src/flashgg/Taggers/python/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/VBFTag.h $CMSSW_BASE/src/flashgg/DataFormats/interface/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/DiPhotonTagBase.h $CMSSW_BASE/src/flashgg/DataFormats/interface/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/VBFTag.cc $CMSSW_BASE/src/flashgg/DataFormats/src/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/VBFTagProducer.cc $CMSSW_BASE/src/flashgg/Taggers/plugins/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/sig_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/wh_sig_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/tth_sig_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/fakefake.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/promptfake.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/promptprompt.json $CMSSW_BASE/src/flashgg/Systematics/test/.
cp /afs/cern.ch/work/a/apsallid/public/Stathes/data_jobs.json $CMSSW_BASE/src/flashgg/Systematics/test/.
Now rebuild,
scram b -j 4
. An error related to class version may appear so run
scram build updateclassversion
and move the output generated file in the place of
the original one. Also previously when running data imported from EXO I encountered a problem and I got a changed version of
samples_utils
file. This is not
needed now. If you are interested see more info on this in this
PR
.
fggRunJobs
The final command should be run from the
$CMSSW_BASE/src
and in the
-d
option add the full path or the jobs will fail.
Also, check above to see what you should do in order for the jobs to run in the grid. The commands are
# Signal
# Signal
fggRunJobs.py --load flashgg/Systematics/test/sig_jobs.json -d /afs/cern.ch/work/a/apsallid/CMS/Hgg/flashgg_v4/CMSSW_8_0_8_patch1/src/testMCandData/sig_jobs -x cmsRun flashgg/Systematics/test/workspaceStd.py maxEvents=-1 -n 500 -b lsf -q 2nd -D -P --no-use-tarball --no-copy-proxy --stage-to /store/group/phys_b2g/apsallid/fgg/MC/sig_jobs puTarget=2.18e+03,2.4e+04,7e+04,1.98e+05,3.61e+05,6.19e+05,1.29e+06,9e+06,2.33e+07,3.11e+07,4.09e+07,5.77e+07,8.37e+07,1.16e+08,1.51e+08,1.84e+08,2.06e+08,2.11e+08,2.01e+08,1.82e+08,1.56e+08,1.28e+08,9.8e+07,7.05e+07,4.72e+07,2.94e+07,1.71e+07,9.23e+06,4.68e+06,2.24e+06,1.02e+06,4.36e+05,1.78e+05,6.87e+04,2.51e+04,8.62e+03,2.79e+03,851,244,66.2,17.1,4.25,1.04,0.257,0.0658,0.0178,0.00504,0.00146,0.000424,0.000121 targetLumi=2069.53 lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Cert_271036-274421_13TeV_PromptReco_Collisions16_JSON.txt
# Background (add target lumi if you like - bkg not needed for workspaces)
fggRunJobs.py --load flashgg/Systematics/test/fakefake.json -d /afs/cern.ch/work/a/apsallid/CMS/Hgg/flashgg_v8/CMSSW_8_0_20/src/testMCandData/fakefake -x cmsRun flashgg/Systematics/test/workspaceStd.py maxEvents=-1 -n 500 -b lsf -q 2nd -D -P --no-use-tarball --no-copy-proxy --stage-to /store/user/apsallid/HggAnalysis/input/testing/MC/fakefake puTarget=1.39e+03,9.33e+04,4.5e+05,9.76e+05,1.64e+06,2.22e+06,2.85e+06,5.74e+06,2.1e+07,5.36e+07,1.07e+08,1.74e+08,2.46e+08,3.32e+08,4.34e+08,5.42e+08,6.49e+08,7.38e+08,8e+08,8.36e+08,8.46e+08,8.31e+08,7.92e+08,7.34e+08,6.63e+08,5.83e+08,4.97e+08,4.08e+08,3.22e+08,2.44e+08,1.78e+08,1.26e+08,8.48e+07,5.49e+07,3.4e+07,2.01e+07,1.14e+07,6.14e+06,3.18e+06,1.58e+06,7.57e+05,3.51e+05,1.59e+05,7.19e+04,3.35e+04,1.71e+04,1.03e+04,7.54e+03,6.45e+03,6.03e+03 lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16_JSON.txt
fggRunJobs.py --load flashgg/Systematics/test/promptfake.json -d /afs/cern.ch/work/a/apsallid/CMS/Hgg/flashgg_v8/CMSSW_8_0_20/src/testMCandData/promptfake -x cmsRun flashgg/Systematics/test/workspaceStd.py maxEvents=-1 -n 500 -b lsf -q 2nd -D -P --no-use-tarball --no-copy-proxy --stage-to /store/user/apsallid/HggAnalysis/input/testing/MC/promptfake puTarget=1.39e+03,9.33e+04,4.5e+05,9.76e+05,1.64e+06,2.22e+06,2.85e+06,5.74e+06,2.1e+07,5.36e+07,1.07e+08,1.74e+08,2.46e+08,3.32e+08,4.34e+08,5.42e+08,6.49e+08,7.38e+08,8e+08,8.36e+08,8.46e+08,8.31e+08,7.92e+08,7.34e+08,6.63e+08,5.83e+08,4.97e+08,4.08e+08,3.22e+08,2.44e+08,1.78e+08,1.26e+08,8.48e+07,5.49e+07,3.4e+07,2.01e+07,1.14e+07,6.14e+06,3.18e+06,1.58e+06,7.57e+05,3.51e+05,1.59e+05,7.19e+04,3.35e+04,1.71e+04,1.03e+04,7.54e+03,6.45e+03,6.03e+03 lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16_JSON.txt
fggRunJobs.py --load flashgg/Systematics/test/promptprompt.json -d /afs/cern.ch/work/a/apsallid/CMS/Hgg/flashgg_v8/CMSSW_8_0_20/src/testMCandData/promptprompt -x cmsRun flashgg/Systematics/test/workspaceStd.py maxEvents=-1 -n 500 -b lsf -q 2nd -D -P --no-use-tarball --no-copy-proxy --stage-to /store/user/apsallid/HggAnalysis/input/testing/MC/promptprompt puTarget=1.39e+03,9.33e+04,4.5e+05,9.76e+05,1.64e+06,2.22e+06,2.85e+06,5.74e+06,2.1e+07,5.36e+07,1.07e+08,1.74e+08,2.46e+08,3.32e+08,4.34e+08,5.42e+08,6.49e+08,7.38e+08,8e+08,8.36e+08,8.46e+08,8.31e+08,7.92e+08,7.34e+08,6.63e+08,5.83e+08,4.97e+08,4.08e+08,3.22e+08,2.44e+08,1.78e+08,1.26e+08,8.48e+07,5.49e+07,3.4e+07,2.01e+07,1.14e+07,6.14e+06,3.18e+06,1.58e+06,7.57e+05,3.51e+05,1.59e+05,7.19e+04,3.35e+04,1.71e+04,1.03e+04,7.54e+03,6.45e+03,6.03e+03 lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16_JSON.txt
# Data
fggRunJobs.py --load flashgg/Systematics/test/data_jobs.json -d /afs/cern.ch/work/a/apsallid/CMS/Hgg/flashgg_v8/CMSSW_8_0_20/src/testMCandData/data -x cmsRun flashgg/Systematics/test/workspaceStd.py maxEvents=-1 -n 500 -b lsf -q 2nd -D -P --no-use-tarball --no-copy-proxy --stage-to /store/user/apsallid/HggAnalysis/input/testing/data processType=data lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Cert_271036-276384_13TeV_PromptReco_Collisions16_JSON_NoL1T.txt lumiMask=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16_JSON.txt
The above commands will create in the cluster a number of jobs. Do a
Ctrl+Z
and to see a summary do :
fggRunJobs.py --load testMCandData/sig_jobs/config.json --summary
and similar commands for the rest of the samples.
Apart from that there also other useful commands like
busers
,
bpeek
,
bjobs
,
bqueues
. Also, when the
fggRunJobs.py
fails we can kill the jobs with
ps -u usernamehere
and
kill -9 thenumber
where
thenumber
is the number of the first column in the previous
ps
command. If there are jobs in the cluster that sent but you do not longer need them, kill them all with
bkill -R -u yourusernamehere 0
.
When the above will finish we will have to merge each process to a single root file. For this one can use
mergeTagsDumpOutput.csh
(see below) to merge the root files to one file per sample. However, the parameters at the beginning must change to point to your directory.
Quality Plots
As a first exercise we are going to see some quality plots and some stack histograms. But first merge the output files above. You can take
mergeTagsDumpOutput_workspaces.csh
locally:
cp /afs/cern.ch/work/a/apsallid/public/Stathes/mergeTagsDumpOutput_workspaces.csh YOURPERSONALAREAPATH/Analysis/.
Open the script and change the parameters in the first line to point to your directory. This will merge trees, histos and workspaces. However, for the merging of trees and histos the line 13 need to change
here
. Do not forget to recompile after the change!
Now, back to the analysis. In the root files produced by flashgg there are a lot of variables. I will choose a few to make some plots as an exercise. Later, other variable can be added. Copy the Analysis directory to your area:
cp -r /afs/cern.ch/work/a/apsallid/public/Stathes/Analysis YOURPERSONALAREAPATH
The code that does the analysis is in
Analysis/test/Hgg_histos.cpp
and
Analysis/test/QPlots_Hgg.cpp
. In
Hgg_histos.cpp
there is the selection and your specific cuts and later
QPlots_Hgg.cpp
runs on the output of
Hgg_histos.cpp
. You should open
Analysis/test/Hgg_histos.cpp
and add the path to the input files.
Start fresh and set the environment doing
source g4env.sh
. Make the structure and compile then
mkdir {include,src,test,lib,bin,obj,output,PLOTS}
make
Any
.cc
and
.hh
files in
src
and
include
will be compiled into
obj
files and into a library in
lib
. Any
.cpp
file in
test
will be compiled as executable in
bin
. Now, if the compilation was successful run the executable
bin/Hgg_histos
You should end up with as many files as the input files in the output directory but this time the files will contain your selection and specific study. Before going to
QPlots.cpp
merge:
hadd -f output/QCD.root output/QCD_Pt-*.root
hadd -f output/GJet_Enriched.root output/GJet_Pt-*.root
And now run
bin/QPlots_Hgg
This will create a number of files named
finalplots_VBFTag_*.root
.These can be merged to have all the files in one
hadd -f finalplots_VBFTag.root finalplots_VBFTag_*.root
The reason for having many files as output is because in some cases someone needs just one specific plot to check. For this the
histotoplot
variable at the beginning of the code must be changed.
Workspaces
Background shape uncertainty
In our binned shape analysis using templates, we fix the Mgg vs BDT background shape using MC. The main reasoning behind this choice (instead of using data in sidebands) is the fact that in the 2D space of Mgg vs BDT there will be empty bins. Bins with zero background but some expected signal or some events in data, are a real problem for statistical computations that require to evaluate the likelihood under the background-only hypothesis. In particular, any calculation of the significance for a positive observed
or expected yield but zero expected background will return "+infinite" or fail if the code can't cope with infinities. In order to avoid zero bkg bins and some expected signal or some events in data, we apply the merging algorithm. However, the merging algorithm cannot be applied to signal or data since it will introduce bias. Therefore, we will use MC for the bkg.
The background MC is normalized to data in sidebands, defined by excluding the 115
GeV to 135
GeV region in [100,180]
GeV. Our goal in this section is to estimate the error on this MC background normalization due to the background shape.
In the Hgg group, they use the discrete profiling method in order to determine the systematic uncertainty associated with choosing a particular analytic function to fit to the background mγγ distribution. Although they have a parametric shape analysis while we are following a binned shape analysis using templates,
we can use this method in order to estimate the error related to the fixed MC shape. The discrete profiling method and the f-test will provide us with the best fit function to data and the error due to "other functional shapes", i.e. the 1 sigma envelopes.
For this task we will be working in the
Background
folder of the flashggFinalFit repository.
If we run the code for the bkg:
./bin/fTest -i root://eoscms.cern.ch//eos/cms/store/user/apsallid/HggAnalysis/input/ICHEP/RunIISpring16DR80X-2_2_0-25ns_ICHEP16_MiniAODv2/DoubleEG.root --saveMultiPdf CMS-HGG_multipdf_mva.root -D outdir_alteredVBFTagonly/bkgfTest-Data -f VBFTag --isData 1
bin/makeBkgPlots -f VBFTag -l VBFTag --intLumi 12.887 -b CMS-HGG_multipdf_mva.root -o tmp.root -d outdir_alteredVBFTagonly/bkgfTest-Data -S 13 --massStep 1.000 --nllTolerance 0.050 -L 100 -H 180 --isMultiPdf --useBinnedData --doBands -c 0
(keep in mind that the
massStep
variable above has far reaching consiquenses since it will be the one with which we will take our final histos)
we see that in the output root file (
tmp.root
) there are two objects written:
KEY: TGraphAsymmErrors onesigma_VBFTag;1
KEY: TGraphAsymmErrors twosigma_VBFTag;1
The
TGraphAsymmErrors
does not have bins. So, we add to the makeBkgPlots.cpp code histograms in order to keep the nominal shape and one sigma envelopes in the whole region as well as in the control region. We also add to the makeBkgPlots.cpp code histograms to keep in each bin i of Mgg the weights
A1_i = Mggup/Mgg
and
A2_i = Mggdown/Mgg
. We would want in the future to do the same for BDT and have for bin j of BDT the
A3_j = BDTup/BDT
and
A4_j = BDTdown/BDT
.
In this way we will apply the bin (i,j) with a weight (add in quadrature) in order to end up with our nominal 2D BDT vs Mgg, the 2D Up BDT vs Mgg and the 2D Down BDT vs Mgg. In this way we would be defining a shape systematic effecting only the bkg.
Note
: Keep in mind that the above are done with the
dijet_mva
cut to
0.2
and not
0.4
.
In the next round of analysis with the
35 /fb
, we should add this to the preselection.
Horizontal morphing
Yield
In order to create the yield table we can use the
yieldsTable.py
script. This script is in the upper
flashggFinalFit
directory and in order to run it needs:
-
signumbers.txt
: This file is created in the Signal step when running makeParametricSignalModelPlots
. This is the last step of the signal workflow and is run like this:
./bin/makeParametricSignalModelPlots -i /YOURPERSONALPATH/CMS-HGG_sigfit_mva.root -o outdir/sigplots -p ggh,vbf,wh,zh,tth -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag > signumbers.txt
where
CMS-HGG_sigfit_mva.root
is the output file of the signal workflow analysis and is created in the
submitSignalFit.py
execution,
outdir/sigplots
is the path to the folder sigplots where the validation plots will be placed and the other options are self explained.
-
CMS-HGG_mva_13TeV_multipdf.root
: This is the output of the background workflow.
- factor: Will study what this does.
- The flashgg workspaces from the first step analysis.
Having all the above,
yieldsTable.py
can be run like this:
./yieldsTable.py -w root://eoscms//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/output_GluGluHToGG_M125_13TeV_amcatnloFXFX_pythia8.root,root://eoscms//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/output_VBFHToGG_M125_13TeV_amcatnlo_pythia8.root,root://eoscms//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/output_ZHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/output_WHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/output_ttHJetToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root -s Signal/signumbers.txt -u /afs/cern.ch/work/a/apsallid/CMS/Hgg/FinalFits_v2/CMSSW_7_4_7/src/flashggFinalFit/Plots/FinalResults/CMS-HGG_mva_13TeV_multipdf.root -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag --factor 1.030671341
This will produce a lot of plots in a directory called
tmp
and a file named
numbers.txt
. Apart from that in the end of the
yieldsTable.py
execution a table in latex will be printed. This can be written in a pdf as usual. This table shows the expected number of signal events per category and the percentage breakdown per production mode. The effective σ is also provided as an estimate of the mγγ resolution in that category. The expected number of background events per
GeV around 125
GeV is also listed.
Since this table is in percentage we can also check ourselves if the numbers are right. Let's try
VBFTag_0
. Do
cat numbers.txt |grep VBFTag_0
. You will see the expected number of events for each process and you can add it to find the percentage.
p-values
Now, we are going to try to reproduce the plot in page 125 of this version of the analysis note
CMS AN-2016/209
. For this we need the sigfit, multipdf and datacard files, that we created with the previous steps, to be copied in
flashggFinalFit/Plots/FinalResults
. Go to this directory and copy also
combineHarvesterOptions13TeV_Template.dat
to a new one e.g.
combineHarvesterOptions13TeV_test.dat
. In the original
combineHarvesterOptions13TeV_Template.dat
there are many options and methods to run. In order to produce the desired plot keep only :
# exp pval
outDir=combineJobs13TeV_mva/ExpProfileLikelihood/All method=ProfileLikelihood expected=1 expectSignal=1 mhLow=120. mhHigh=130. mhStep=0.5 jobs=21
# exp pval @ 125
outDir=combineJobs13TeV_mva/ExpProfileLikelihood_m125.09 method=ProfileLikelihood expected=1 expectSignal=1 expectSignalMass=125.09 mhLow=120. mhHigh=130. mhStep=0.1 jobs=21
Replace the required arguments like
!EXT!
and
!INTLUMI!
by the desired values. For lumi I used
2.69
(this is in
fb^(-1)
) and for
EXT
you should put the extension of your sigfit, multipdf and datacard files. Now we are ready to submit jobs. Do:
./combineHarvester.py -d combineHarvesterOptions13TeV_test.dat -q 1nh --batch LSF --verbose
When the jobs will finish the results with be in
flashggFinalFit/Plots/FinalResults/combineJobs13TeV_EXT
directory. We should merge the jobs output files. For this do:
./combineHarvester.py --hadd combineJobs13TeV_EXT
The next step is the plot. For this we need
makeCombinePlots.py
. There is an indent error in
line 1052
(at the moment of writing). You should put line 1052 after line 1051. For the desired plot do :
./makeCombinePlots.py -d combinePlotsOptions_test.dat
This will create the plot with the name
pval13TeV(.png,.pdf,.C)
.
Topological merging: Performance, limitations, sensitivity.
Notes on the Flashgg Final Fits
To understand what the final fits code does, study section 13 of the Analysis Note
2016/023
which describes the statistical analysis in detail. Also, the
flashggFinalFit
repository
contains invaluable README files with detailed guides that should be studied. Here is a subset of these
notes with some explanations that at the time works.
A few comments before trying to understand the code.
- In the decay of the Higgs boson into two photons, the final state unconverted photons are not detected in the tracker, so the determination of the primary vertex associated with the signal is not trivial. The ECAL detector alone cannot be used for pointing, as it is not segmented longitudinally. Choosing the right vertex
(RV)
or the wrong vertex (WV)
can effect substantially the shape of the mgg distribution. So, in constructing the signal model RV and WV cases are fit separately.
- The simulated signal samples are divided according to each one of the allowed Standard Model Higgs production processes:
VBF, ttH, ggH, WH, and ZH
(always used with small letters in the code). Only a small comment on VBF and on ggH.
VBF
: Initial state quarks from the two colliding protons radiate vector bosons (W or Z), which fuse to produce the Higgs boson. The energy transfer of the incoming quarks to the vector bosons is relatively small compared to their initial energy. Therefore, the two final state quarks are only slightly diffracted and tend to follow the original proton trajectory. The quarks hadronize and can be reconstructed in the detector as jets. Hence, the VBF Higgs boson production leads to two highly energetic, forward jets in the final state that are well separated in rapidity. In addition, the Higgs boson decay products are expected to be observed in between the two jets.
ggH
: Two incoming gluons fuse into a loop of heavy quarks, which can produce an outgoing Higgs boson. Since the parton content of protons at high energies is made to a high degree of gluons, this mode is the dominant production mode, having at 8 TeV LHC operation a cross section of 19.2 pb at a Higgs mass of 125.4 GeV. At leading order nothing but a Higgs boson is produced in this interaction. Through higher order corrections, additional jets can emerge. The properties of the gluon fusion process are controlled by Quantum Chromodynamics (QCD) and therefore inherit the complications of QCD.
So, the code loops in processes
means that it loops through the signal samples that have undergone the flashgg selection and transformed in workspaces for the specific Higgs production mechanisms.
- Events are classified into eight exclusive categories (or ”tags”):
UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag.
These loosely corresponding to Higgs production modes. VBF tags are used to clasify events produced in association with a dijet, TTH for top quark decaying either hadronically or leptonically, and the remaining tags are for the remaining events with 0 the most sensitive. Event that do not fall in these categories are discarded! So the code loops on tags
also.
Setup
A few notes to accomplish the setup.
- Follow the setup section of the official flashgg twiki here and not the repository README. At the moment it fails but in the future this will be corrected for sure. As the guide says there will be a lot of warnings related to BOOST. But at the end it should combine with no error message.
- At the moment, v501 does not have this folder
. So, we should copy those directly into our combine area at data/lhc-hxswg/sm/xs/13TeV
, otherwise we might get complaints that 13TeV is not supported when we run the Signal scripts. To take a specific folder in git there may be more professional ways but I copied the whole repository in a temporary folder like this:
mkdir testdeletethisdir
cd testdeletethisdir
git clone -b slc6-root5.34.17 https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit
Then, copied the folder that was missing and delete the whole testdeletethisdir
afterwords.
Signal model
We continue now to the creation of the Signal model. The relevant code is in the
Signal
directory.
We will use samples in
/eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces/
just to see how the code runs as a first step. Then, we should reproduce the Hgg official results.
- The code Signal/test/signalFTest.cpp
produces an executable in Signal/bin
directory. It splits datasets by right/wrong vertex (RV: dZ<1cm) in line 337
and determine the number of gaussians to be used in order to fit the signal with the limit of five Gaussians. So:
cd $CMSSW_BASE/src/flashggFinalFit/Signal
#Do whatever changes in test/signalFTest.cpp
make
#The above will produce an executable in bin directory
#Run like:
./bin/signalFTest -i root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M120_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M130_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M125_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M120_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M130_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M125_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root -p ggh,vbf,wh,zh,tth -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag -o $CMSSW_BASE/src/flashggFinalFit/Signal/outdir_HggAnalysis_Moriond2016_example
The above will produce a dat file in dat/config.dat
with all the required info that will be used as input for the final signal script. The above name and place of the dat file can be changed if in the command line we add the option -d newdatfilename.dat
. Also, it will produce plots like the ones here
in the $CMSSW_BASE/src/flashggFinalFit/Signal /outdir_HggAnalysis_Moriond2016_example
which is the path we gave in the command line. Locally the above command will produce these plots in Signal/outdir_HggAnalysis_Moriond2016_example/fTest
(search for the outdir in the code).
- For the final signal script we also need the photon category systematics config file, that is another dat file. To produce this the relevant code is Signal/test/calcPhotonSystConsts.cpp
./bin/calcPhotonSystConsts -i root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M120_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M130_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M125_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M120_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M130_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M125_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root -o dat/photonCatSyst_HggAnalysis_Moriond2016_example.dat -p ggh,vbf,tth,wh,zh -s HighR9EB,HighR9EE,LowR9EB,LowR9EE -r HighR9EBPhi,HighR9EBRho,HighR9EEPhi,HighR9EERho,LowR9EBPhi,LowR9EBRho,LowR9EEPhi,LowR9EERho -D outdir_HggAnalysis_Moriond2016_example -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag
The above will produce a file as specified in the -o
option (in this case dat/photonCatSyst_HggAnalysis_Moriond2016_example.dat
) and plots like the ones here
. Locally these plots are produced only with the -P
options turned to true
(check line 84
of the calcPhotonSystConsts.cpp
code). in the -D
option directory, that is here outdir_HggAnalysis_Moriond2016_example
, by adding systematics
folder.
- Now going to the final script which is Signal/test/SignalFit.cpp
. It uses as input the above two dat files: First is to know how many gaussian to fit in each in each category under RV and WV hypotheses (option -d datfile
) and second is to propagate single photon systematics to diphoton categories (option -s systematics_datfile
).
$CMSSW_BASE/src/flashggFinalFit/Signal/bin/SignalFit --verbose 0 -i root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M120_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M130_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_GluGluHToGG_M125_13TeV_amcatnloFXFX_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M120_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M130_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_VBFHToGG_M125_13TeV_amcatnlo_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ZHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_WHToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M130_13TeV_amcatnloFXFX_madspin_pythia8.root,root://eoscms.cern.ch//eos/cms/store/group/phys_higgs/cmshgg/analyzed/moriond2016/flashgg-workspaces//output_ttHJetToGG_M125_13TeV_amcatnloFXFX_madspin_pythia8.root -d $CMSSW_BASE/src/flashggFinalFit/Signal/dat/newConfig_HggAnalysis_Moriond2016_example.dat --mhLow=120 --mhHigh=130 -s $CMSSW_BASE/src/flashggFinalFit/Signal/dat/photonCatSyst_HggAnalysis_Moriond2016_example.dat --procs ggh,vbf,tth,wh,zh -o $CMSSW_BASE/src/flashggFinalFit/Signal/outdir_HggAnalysis_Moriond2016_example/CMS-HGG_sigfit_HggAnalysis_Moriond2016_example_ggh_UntaggedTag_0.root -p $CMSSW_BASE/src/flashggFinalFit/Signal/outdir_HggAnalysis_Moriond2016_example/sigfit -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1,TTHHadronicTag,TTHLeptonicTag --changeIntLumi 2.69 --binnedFit 1 --nBins 320 --split ggh,UntaggedTag_0
The above produces plots like these ones here
and can be found locally in outdir_HggAnalysis_Moriond2016_example/sigfit/
.
The --split process,tagname
above produced only the signal process ggh
for the tag UntaggedTag_0
. For all processes, tags remove this and rerun or do not remove and use the batch system with /python/submitSignalFit.py
adding the --batch
and -q
options.
- Finally to produce validation plots like this one
, the code is in Signal/test/makeParametricSignalModelPlots.cpp
. Since we only run previously the ggh
and UntaggedTag_0
above, do :
./bin/makeParametricSignalModelPlots -i outdir_HggAnalysis_Moriond2016_example/CMS-HGG_sigfit_HggAnalysis_Moriond2016_example_ggh_UntaggedTag_0.root -o outdir_HggAnalysis_Moriond2016_example -p ggh -f UntaggedTag_0
If we had run all processes and tags:
./bin/makeParametricSignalModelPlots -i outdir_HggAnalysis_Moriond2016_example/filenamehereofthesignalfitabove.root, -o outdir_HggAnalysis_Moriond2016_example -p ggh,vbf,wh,zh,tth -f UntaggedTag_0,UntaggedTag_1,UntaggedTag_2,UntaggedTag_3,VBFTag_0,VBFTag_1
More info in the Signal README
.
Some notes on the HGCal-CALICE Silicon-Tungsten 3 layer ECAL setup that was used in the November 2015 test beam. Testing only
one configuration at the moment (4.2 X_0 with Tungsten before the silicon layers and no angle).
Setup
The code can be found in
https://github.com/apsallid/SiWEcal
. Here we give the general setup while in each subsection the relevant code
will be explained and given.
#B9DAFF;padding:2px;margin:2px; height:210px;width:80%" >
# Log in in lxplus
# Take the code locally
git clone https://github.com/apsallid/SiWEcal
# You should now have a directory SiWEcal with the code
# Compile
cd SiWEcal
source g4env.sh
mkdir -p userlib/{lib,obj,bin} && cd userlib && make dictionary && make -j 5 && cd - && make -j 5
# Run some events
SiWEcal run.mac
Relative Calibration
The statistical fluctuation of the energy loss in thin layers is described by the Landau distribution
which resembles a distorted normal distribution with a long upper tail due to rare, but highly ionizing knock-on electrons.
The tail of an ideal Landau distribution extends to infinite energies, which is unrealistic.
In practice, the measurement range is always limited, which leads to a truncated Landau curve.
As a result of its asymmetry, the mean energy loss is higher than the most probable value(MPV).
However, the latter is much easier to obtain from measured data and therefore usually stated in experimental results.
The scale factor between MPV and mean is typically around 1.3 but depends on particle energy and measurement range.
For the relative calibration (also called MIP calibration) the goal is to assign a standard energy scale to the
electronic readout from the silicon active medium of each pad. The choice of the standard is the energy loss of
muons with momentum from a few hundreds
MeV to a few tens
GeV when passing through the detector. In
this momentum range, muons lose their energy only through ionization, and have the ionization energy loss rates
close to the minimum, as can be seen from the Bethe-Bloch formula. These muons are said to be minimum ionizing particles (MIP),
which mostly penetrate the whole detector with (near) identical energy loss rate. Therefore, these muons provide a nature
standard of energy for the calibration.
The energy deposited in the detector material flows into the creation of free electron-hole pairs.
The number of pairs
n
depends on the total energy loss
Eloss
and the ionization energy
Eeh
,
which is necessary for a pair production,
n=Eloss/Eeh
. In silicon (
Eeh=3.6 eV
) we expect about 75 electron holes
per um for a MIP. So, a MIP in 325um of silicon leads to a most probable charge of about
n=24375
.
To perform the MIP calibration the relevant code is in
SiWEcal/analysis/test/mipDeposit.cpp
and should be inspected and altered to your path.
To run it:
#B9DAFF;padding:2px;margin:2px; height:130px;width:80%" >
# MIP deposition
cd analysis
mkdir {lib,bin,obj,PLOTS}
make
# MIP
bin/mipDeposit
As can be seen from the plot (will repeat this when geometry is correct), Geant4 gives ~ keV for the MPV.
So, this will be used to convert
SimHits energy (
MeV) to MIPs: xx
MeV /MIP.
- mipDeposit_example_15GeVmuon.png:
</verbatim>
Digitization
With the digitization process someone tries to model the response of the detector and its electronics. In this way Data
and Monte Carlo will be treated the same. A few notes about the simulation. The virtual cell size for the signal amplitude
in simulation is 5.5 mm x 5.5 mm, but could be decreased to 2.25 mm x 2.25 mm. Then this
signal amplitude will be summed to obtain the real geometry. For example, if 2.25 mm x 2.25 mm virtual cells size is set, a
granularity factor of 2 for all silicon layers will be used to get to the real cell size of 5.5 mm x 5.5 mm.
The procedure should take into account the following:
1. Convert
SimHits G4 energy (
MeV) to MIPs: xx
MeV /MIP
2. Generate random number of photoelectrons from Poisson distribution.
3. Calculate the number of pixels taking into account saturation and cross-talk.
4. Generate random signal from Gaussian distribution.
5. Recalculation from pixel to MIP.
6. Add noise everywhere.
7. The read out electronics have a defined time window. Late energy depositions might escape this time window.
In order to reproduce this effect, a time cut must be applied in simulations.
8. Convert ADC counts back to MIPs and produce
RecHits.
Cross talk is light sharing between neighbouring tiles.
- mipDeposit_example_15GeVmuon.png:
[[/twiki/pub/Sandbox/AndreasPsallidasPersonalNotes/mipDeposit_example_15GeVmuon.png][
</verbatim>