Work Notes

Contents:

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,

  1. Material budget plots on the simulation geometry.
  2. 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
HGCal_x_vs_eta.png 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.
HGCal_l_vs_eta.png 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.
HGCal_x_vs_phi.png 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.
HGCal_l_vs_phi.png 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.
HGCal_x_vs_R.png 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.
HGCal_l_vs_R.png 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.

HGCal_x_vs_eta_vs_phi.png 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 .
HGCal_l_vs_eta_vs_phi.png 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 .
HGCal_x_vs_z_vs_Rsum.png 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.
HGCal_l_vs_z_vs_Rsum.png 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.
HGCal_x_vs_z_vs_Rloc.png 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.
HGCal_l_vs_z_vs_Rloc.png 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.
HGCal_x_vs_z_vs_Rloccos.png 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.
HGCal_l_vs_z_vs_Rloccos.png 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

HGCal_x_vs_z_vs_RsumCopper.png 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.
HGCal_l_vs_z_vs_RsumCopper.png 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.
HGCal_x_vs_z_vs_RsumcosCopper.png 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.
HGCal_l_vs_z_vs_RsumcosCopper.png 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.
HGCal_x_vs_z_vs_RlocCopper.png 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.
HGCal_l_vs_z_vs_RlocCopper.png 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.
HGCal_x_vs_z_vs_RsumScintillator.png 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.
HGCal_l_vs_z_vs_RsumScintillator.png 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.
HGCal_x_vs_z_vs_RsumcosScintillator.png 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.
HGCal_l_vs_z_vs_RsumcosScintillator.png 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.
HGCal_x_vs_z_vs_RlocScintillator.png 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.
HGCal_l_vs_z_vs_RlocScintillator.png 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.
HGCal_x_vs_z_vs_RsumCables.png 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.
HGCal_l_vs_z_vs_RsumCables.png 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.
HGCal_x_vs_z_vs_RsumcosCables.png 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.
HGCal_l_vs_z_vs_RsumcosCables.png 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.
HGCal_x_vs_z_vs_RlocCables.png 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.
HGCal_l_vs_z_vs_RlocCables.png 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.
HGCal_x_vs_z_vs_RsumM_NEMA_FR4_plate.png 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.
HGCal_l_vs_z_vs_RsumM_NEMA_FR4_plate.png 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.
HGCal_x_vs_z_vs_RsumcosM_NEMA_FR4_plate.png 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.
HGCal_l_vs_z_vs_RsumcosM_NEMA_FR4_plate.png 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.
HGCal_x_vs_z_vs_RlocM_NEMA_FR4_plate.png 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.
HGCal_l_vs_z_vs_RlocM_NEMA_FR4_plate.png 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.
HGCal_x_vs_z_vs_RsumSilicon.png 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.
HGCal_l_vs_z_vs_RsumSilicon.png 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.
HGCal_x_vs_z_vs_RsumcosSilicon.png 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.
HGCal_l_vs_z_vs_RsumcosSilicon.png 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.
HGCal_x_vs_z_vs_RlocSilicon.png 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.
HGCal_l_vs_z_vs_RlocSilicon.png 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.
HGCal_x_vs_z_vs_RsumOther.png 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.
HGCal_l_vs_z_vs_RsumOther.png 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.
HGCal_x_vs_z_vs_RsumcosOther.png 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.
HGCal_l_vs_z_vs_RsumcosOther.png 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.
HGCal_x_vs_z_vs_RlocOther.png 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.
HGCal_l_vs_z_vs_RlocOther.png 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.
HGCal_x_vs_z_vs_RsumAir.png 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.
HGCal_l_vs_z_vs_RsumAir.png 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.
HGCal_x_vs_z_vs_RsumcosAir.png 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.
HGCal_l_vs_z_vs_RsumcosAir.png 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.
HGCal_x_vs_z_vs_RlocAir.png 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.
HGCal_l_vs_z_vs_RlocAir.png 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.
HGCal_x_vs_z_vs_RsumStainless_Steel.png 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.
HGCal_l_vs_z_vs_RsumStainless_Steel.png 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.
HGCal_x_vs_z_vs_RsumcosStainless_Steel.png 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.
HGCal_l_vs_z_vs_RsumcosStainless_Steel.png 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.
HGCal_x_vs_z_vs_RlocStainless_Steel.png 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.
HGCal_l_vs_z_vs_RlocStainless_Steel.png 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.
HGCal_x_vs_z_vs_RsumWCu.png 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.
HGCal_l_vs_z_vs_RsumWCu.png 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.
HGCal_x_vs_z_vs_RsumcosWCu.png 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.
HGCal_l_vs_z_vs_RsumcosWCu.png 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.
HGCal_x_vs_z_vs_RlocWCu.png 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.
HGCal_l_vs_z_vs_RlocWCu.png 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.
HGCal_x_vs_z_vs_RsumLead.png 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.
HGCal_l_vs_z_vs_RsumLead.png 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.
HGCal_x_vs_z_vs_RsumcosLead.png 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.
HGCal_l_vs_z_vs_RsumcosLead.png 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.
HGCal_x_vs_z_vs_RlocLead.png 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.
HGCal_l_vs_z_vs_RlocLead.png 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

HGCal_x_vs_z_vs_RsumCopper_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumCopper_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosCopper_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosCopper_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocCopper_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocCopper_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumScintillator_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumScintillator_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosScintillator_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosScintillator_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocScintillator_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocScintillator_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumCables_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumCables_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosCables_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosCables_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocCables_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocCables_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocM_NEMA_FR4_plate_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumSilicon_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumSilicon_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosSilicon_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosSilicon_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocSilicon_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocSilicon_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumOther_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumOther_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosOther_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosOther_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocOther_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocOther_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumAir_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumAir_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosAir_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosAir_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocAir_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocAir_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumStainless_Steel_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumStainless_Steel_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosStainless_Steel_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosStainless_Steel_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocStainless_Steel_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocStainless_Steel_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumWCu_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumWCu_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosWCu_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosWCu_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocWCu_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocWCu_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumLead_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumLead_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosLead_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosLead_ZplusZoom.png 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.
HGCal_x_vs_z_vs_RlocLead_ZplusZoom.png 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.
HGCal_l_vs_z_vs_RlocLead_ZplusZoom.png 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

HGCal_x_vs_z_vs_RsumCopper_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumCopper_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosCopper_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosCopper_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocCopper_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocCopper_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumScintillator_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumScintillator_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosScintillator_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosScintillator_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocScintillator_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocScintillator_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumCables_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumCables_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosCables_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosCables_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocCables_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocCables_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocM_NEMA_FR4_plate_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumSilicon_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumSilicon_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosSilicon_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosSilicon_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocSilicon_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocSilicon_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumOther_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumOther_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosOther_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosOther_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocOther_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocOther_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumAir_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumAir_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosAir_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosAir_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocAir_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocAir_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumStainless_Steel_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumStainless_Steel_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosStainless_Steel_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosStainless_Steel_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocStainless_Steel_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocStainless_Steel_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumWCu_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumWCu_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosWCu_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosWCu_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocWCu_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocWCu_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumLead_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumLead_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RsumcosLead_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RsumcosLead_ZminusZoom.png 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.
HGCal_x_vs_z_vs_RlocLead_ZminusZoom.png 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.
HGCal_l_vs_z_vs_RlocLead_ZminusZoom.png 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.

Notes on LegacyVertexSelector for Ztomumu

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

1st MVA

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.

2nd MVA

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,

DATASET from Run to Run
Run2012A -22Jan2013 190456 193621
Run2012B -22Jan2013 193833 196531
Run2012C -22Jan2013 198022 203742
Run2012D -22Jan2013 203777 208686

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.

PileUp

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
  • For the moment the following is not needed however I keep it in order to know where to look if this will appear in the future. We have to know if the scale and smearing factors are available for the data we are working on. In this case at the moment they are not available so we take them according to the corresponding flashgg mail from here:
    /afs/cern.ch/user/g/gfasanel/public/test_2016B/Golden10June_plus_DCS_scales.txt 
    /afs/cern.ch/user/g/gfasanel/public/test_2016B/Golden10June_plus_DCS_smearings.txt 
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

Work in progress, under construction

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.

  1. 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.
  2. 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.

SiWEcal

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:
    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][mipDeposit_example_15GeVmuon.png</verbatim>

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2018-07-02 - AndreasPsallidas
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback