BottomUpUncerts

Introduction

The purpose of this page is to document recommendations for bottom up uncertainties. All of these uncertainties are applied at the cluster level and then the analysis variables re-computed. This is contrast to the top-down approach where jet observables are directly calibrated. The top-down uncertainties for the trimmed jet mass and several jet shapes are described in this twiki. Reasons you may need to use the uncertainties described on this page instead of the top-down ones:

  • You are very sensitive to (or want to exploit) correlations between uncertainties.
  • Your observable is not on the list covered by top-down uncertainties.
  • You are sensitive to more than just the scale of a jet shape (e.g. you are doing a precision jet substructure measurement).

For analyses using AntiKt10 jets, unless you are looking at colour-flow outside of your cone (or other similar effects), these uncertainties can all be applied to the jet constituents and the sub-structure re-computed without re-doing jet clustering. If you are using smaller radius jets or looking at energy flow across the jet boundary you need to apply these variations to all clusters and re-build your jets. In all cases, the variations should be applied prior to any grooming.

For uncertainties on track-based observables, see the recommendations from the tracking CP group.

Prescriptions are highlighted in blue.

Inclusive Uncertainties

Cluster Reconstruction Efficiency

Method: match clusters to tracks and find the fraction of tracks with no cluster.

This depends heavily on the clustering threshold. Current numbers, shown below (Sec. 8.4.1) are from 2015 and are based on special low threshold (mu = 0) runs.

Procedure: Inflate the current uncertainty by 100%. If you are sensitive to this uncertainty, then please contribute to re-measuring this with the 2016-17 thresholds. This is a very straightforward measurement!

for constituent in jet do
      double r = 0.;                                                           
      double p = pt*cosh(eta)/1000.; //GeV                                                             
      if (abs_eta < 0.6) r = (0.12*exp(-0.51*p)+4.76*exp(-0.29*p*p))/100.;
      else if (abs_eta < 1.1) r = (0.17*exp(-1.31*p)+4.33*exp(-0.23*p*p))/100.;
      else if (abs_eta < 1.4) r = (0.17*exp(-0.95*p)+1.14*exp(-0.04*p*p))/100.;
      else if (abs_eta < 1.5) r = (0.15*exp(-1.14*p)+2768.98*exp(-4.2*p*p))/100.; //bad fit, but doesn't matter above a GeV.
      else if (abs_eta < 1.8) r = (0.16*exp(-2.77*p)+0.67*exp(-0.11*p*p))/100.;
      else if (abs_eta < 1.9) r = (0.16*exp(-1.47*p)+0.86*exp(-0.12*p*p))/100.;
      else r = (0.16*exp(-1.61*p)+4.99*exp(-0.52*p*p))/100.;
      double flip = myrand_global->Uniform(0.,1.);
      if ((flip < r) && (E/1000. < 2.5)) skip!
end do;

Cluster Fake Rate

Negligible (unless we do constituent-based pileup identification in which case the meaning of fake changes).

Procedure: Ignore.

Cluster Energy Scale

Method: match clusters to tracks, fit the distribution to a truncated Gaussian, and take the peak as the scale in data and in simulation. The difference from the ratio of these scales from unity is the uncertainty. Outside of E/p data, we have combined test beam (CTB) and outside of that (p > 350 GeV), there is a large (10%) out of range uncertainty; the same one used for the current JES uncertainty.

Current numbers (Sec. 8.4.2) can be found below. Note that they are also with mu = 0 thresholds. The prescriptions are only completed for LCW - if you use EM, please get in contact.

Prescription: Consider a one-component shift in the cluster energies with the above numbers. The shift up and down may lead to asymmetric results in the final observable. Apply this to all clusters coherently treating them as pions.

TFile* cluster_file = TFile::Open("cluster_uncert_map.root");
cluster_means = (TH2F*)cluster_file->Get("Mean");
for constituent in jet do
      double p = pt*cosh(eta)/1000.; //GeV 
      int pbin = cluster_means->GetXaxis()->FindBin(p);
      int ebin = cluster_means->GetYaxis()->FindBin(abs_eta);
      if (pbin > cluster_means->GetNbinsX()) pbin = cluster_means->GetNbinsX();
      if (pbin < 1) pbin = 1;
      if (ebin > cluster_means->GetNbinsX()) ebin  = cluster_means->GetNbinsX();
      if (ebin < 1) ebin  = 1;
      double myCES = fabs(cluster_means->GetBinContent(pbin,ebin)-1.);
      if (p > 350) myCES = 0.1;                                                                                
      double ptcesu = pt*(1.+ myCES); //CES up                                                                                
      double ptcesd = pt*(1.-myCES); //CES down  
      //set px, py, pz, E like this: ptcesu*cos(phi), ptcesu*sin(phi), ptcesu*sinh(eta), ptcesu*cosh(eta)
end do;

where the TFile is here. TODO [BPN]: add in the correction to the maps so we don't have to worry about converting E to p (maps are as a function of p so the above is technically wrong, though conservative. Also, add EM results.

Cross-checks:

  1. Apply the above uncertainty only to clusters with EM_PROBABILITY<0.9 and 0.5% uniformly to all others - this is to check if you are sensitive to the hadronic shower scale being wrong and not the EM one.
  2. Treat this uncertainty as two uncorrelated uncertainties one which is applied to clusters with EMfrac>0.5 and one which is applied to clusters with EMfrac<0.5.
  3. Treat this uncertainty as two uncorrelated uncertainties one which is applied to clusters with |eta|>1.4 and one applied to |eta|<1.4
  4. Treat this uncertainty as two uncorrelated uncertainties one which is applied to clusters with pT>2.5GeV and one applied to pT<2.5GeV
  5. Treat the out-of-test-range (not testbeam and not E/p) uncertainty uncorrelated with the rest of the energy scale uncertainties.

The cluster energy scale may depend on many features and this dependence may be mis-modeled (akin to mis-modeling the dependence of the JES on ntrack in the GSC) and/or the distributions of the features may also be mis-modeled (akin to mis-modeling ntrack). This is a second-order effect if the inclusive response is well-constrained, but in principle this may eventually be important. The most important features to consider are those used in the calibration itself, such as the LC classification.

The Data/MC agreement of the LC classification has not been studied so we would like to see the data/MC agreement for the same set of clusters (after event and jet selection) at the EM-scale computing the relevant variables for the analysis. The level of agreement (data-to-MC) should not be worse at EM scale. (If it is then we need to study further).

Cluster Energy Resolution

Method: match clusters to tracks, fit the distribution to a truncated Gaussian, and take the standard deviation as the resolution in data and in simulation. The square root of the squared difference from the ratio of these resolutions is the uncertainty. Outside of E/p data, we have combined test beam (CTB) and outside of that (p > 350 GeV), there is a large (10%) out of range uncertainty.

Current numbers (Sec. 8.4.2) can be found below. Procedure: smear all clusters randomly with the above values. Same warnings apply as for the cluster energy scale however they have a smaller impact. In particular decorrelating the uncertainty is unnecessary.

TFile* cluster_file = TFile::Open("cluster_uncert_map.root");
cluster_means = (TH2F*)cluster_file->Get("Mean");
for constituent in jet do
      double p = pt*cosh(eta)/1000.; //GeV 
      int pbin = cluster_means->GetXaxis()->FindBin(p);
      int ebin = cluster_means->GetYaxis()->FindBin(abs_eta);
      if (pbin > cluster_means->GetNbinsX()) pbin = cluster_means->GetNbinsX();
      if (pbin < 1) pbin = 1;
      if (ebin > cluster_means->GetNbinsX()) ebin  = cluster_means->GetNbinsX();
      if (ebin < 1) ebin  = 1;
      double myCER = fabs(cluster_rmss->GetBinContent(pbin,ebin));
      if (p > 350) myCER = 0.1;                                                                                
      double ptcer = pt*(1.+myrandom->Gaus(0,1)* myCER);                                                                            
      //set px, py, pz, E like this: ptcer*cos(phi), ptcer*sin(phi), ptcer*sinh(eta), ptcer*cosh(eta)
end do;

where the TFile is here. TODO [BPN]: add in the correction to the maps so we don't have to worry about converting E to p (maps are as a function of p so the above is technically wrong, though conservative. Also, add EM results.

If this is a big uncertainty for you - please help to parameterize the E/p as a function of EMProb, ...

Cluster Position Resolution

Studies in 2011 found that 5 mrad was an estimate of the uncertainty on the angular resolution of cluster energy. Sudies in 2012 (p46 here) saw that this was extremely conservative but did not cover all phase space. Work is ongoing to update this with Run II data (JIRA). The prescription is as follows:

for constituent in jet do
      double phi_smear = myrand_global->Gaus(phi,0.005); //5 mrad
      double eta_smear = myrand_global->Gaus(eta,0.005);
      double pt_smear = pt*cosh(eta)/cosh(eta_smear);
      //set px, py, pz, E like this: pt_smear*cos(phi_smear), pt_smear*sin(phi_smear), pt_smear*sinh(eta_smear), pt*cosh(eta)
end do;

Isolated cluster splitting / merging

See prescription for dense environments. At the moment, same prescription is applied for both.

Uncertainties Inside Dense Environments

Cluster Energy Scale and Isolation:

This is something we have worried about in the past. There is out-of-cluster energy which is different if you are in a isolated and non-isolated environment. I am not sure how to go about testing this at the moment so we might need to ignore this for now. (If the scale uncertainties are large then this covers this effect).

For your observable X, make a TProfile plot of vs Sum{E*Iso}/Sum{E} (sums are over constituent clusters) for the measured jet in data and MC. If large trends in the data/MC agreement are seen worry.

Cluster Splitting/Merging

This is clearly something that could be important and we have no measurements of this so we need to make sure that we aren't sensitive to these effects. You should note that sigma_{eta/phi} is defined by Eq.20 of https://arxiv.org/pdf/1603.02934.pdf and is roughly the radius of a given cluster. One should check three things:

  1. test splitting between HAD and EM; for any pair of clusters where dR(i,j)<sigma_{eta/phi}^{i}+sigma_{eta/phi}^{j} && ((E_EMB3^i =0 && E_EMB3^j =0) || (E_Tile0^i =0 && E_Tile0^j =0) || (E_EME3^i =0 && E_EME3^j =0) || (E_HEC0^i =0 && E_HEC0^j =0)) - this condition basically asks if the clusters are overlapping and they both have energy in the first HAD layer or last EM layer (so are touching each other). These should be added together to form a single cluster with eta=(eta_i*E_i+eta_j*E_j)/(E_i+E_j), phi=(phi_i*E_i+phi_j*E_j)/(E_i+E_j), E = E_i+E_j TODO BPN> check if variables are present

  1. splitting in the EM calorimeter of hadronic clusters; for any pair of clusters with the maximum energy in EMB2 or EME2, and EM_PROBABILITY<0.9 (not extremely likely to be a photon), and dR(i,j)<sigma_{eta/phi}^{i}+sigma_{eta/phi}^{j} then we combine them into a single cluster with eta=(eta_i*E_i+eta_j*E_j)/(E_i+E_j), phi=(phi_i*E_i+phi_j*E_j)/(E_i+E_j), E = E_i+E_j

  1. the previous two only look at combining cluster rather than additional splitting. For splitting in the EM calorimeter of hadronic clusters I think I would also like to see what happens if for 20% (this is a guess) of clusters which have maximum energy in EMB2 or EME2, and EM_PROBABILITY<0.9 we split them into two clusters each with half of the total energy at positions eta=eta_0, phi=phi_0 +/- sigma_{eta/phi}/2

For all of a), b), c), plot the cluster multiplicity and N95 (the number of clusters required to reach 95% of total jet energy) in your jets before and after applying the change in MC, and overlay the data (without any modifications to the data distribution).

If any of the above tests shows strong dependencies on the results then we need to study this in more detail. Studying this in detail is not too difficult and we should do this soon if there are lots of sub-structure analyses which see significant effects from the above tests. Note that in fig.31/32 of https://arxiv.org/pdf/1603.02934.pdf we see cluster multiplicity is not well modeled (even with overlay pile-up) so we don't have great constraints on the rate of splitting/merging at the moment.

Uncertainties for Hadrons that are not Pions

The only relevant contribution is for K long. The procedure is to follow the approach used for the high pT JES uncertainty, where there is an uncertainty from neutral kaon showers resulting from Geant4 physics list variations (N.B. there is an on-going request to update this: JIRA). Previous discussions of the kaon response can be found in this paper.

For each K long found in the truth record (PDG ID = 130) add an additional pseudo-cluster with 20% of the energy of the kaon in the direction of the truth kaon. This represents a 20% (conservative) uncertainty on the energy response of this particle due to the absence of measurements in test beams.


Major updates:
-- BenjaminNachman and ChristopherYoung - 2018-04-04
Edit | Attach | Watch | Print version | History: r9 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2018-04-04 - BenjaminNachman
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

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