Path Name | L1 Algorithm | Installed |
---|---|---|
HLT_L1Jet15 | L1_SingleJet15 | yes |
HLT_Jet30 | L1_SingleJet15 | yes |
HLT_Jet80 | L1_SingleJet50 | yes |
HLT_Jet110 | L1_SingleJet70 | yes |
HLT_Jet180 | L1_SingleJet70 | yes |
HLT_FwdJet20 | L1_IsoEG10_Jet15_ForJet10 | yes |
HLT_DiJetAve15 | L1_SingleJet15 | yes |
HLT_DiJetAve50 | L1_SingleJet50 | yes |
HLT_DiJetAve70 | L1_SingleJet70 | yes |
HLT_DiJetAve130 | L1_SingleJet70 | yes |
HLT_QuadJet30 | L1_QuadJet15 | no |
HLT_SumET120 | L1_ETT60 | yes |
HLT_L1MET20 | L1_ETM20 | yes |
HLT_MET25 | L1_ETM20 | yes |
HLT_MET50 | L1_ETM40 | yes |
HLT_MET65 | L1_ETM50 | yes |
HLT_L1MuOpen | † | yes |
HLT_L1Mu | L1_SingleMu7 or L1_DoubleMu3 | yes |
HLT_Mu5 | L1_SingleMu5 | yes |
HLT_Mu9 | L1_SingleMu7 | yes |
HLT_Mu11 | L1_SingleMu10 | yes |
HLT_DoubleMu3 | L1_DoubleMu3 | yes |
HLT_Ele15_LW_L1R | L1_SingleEG10 | yes |
HLT_LooseIsoEle15_LW_L1R | L1_SingleEG12 | yes |
HLT_IsoEle18_L1R | L1_SingleEG15 | yes |
HLT_DoubleEle10_LW_OnlyPixelM_L1R | L1_DoubleEG5 | yes |
HLT_Photon15_L1R | L1_SingleEG12 | yes |
HLT_Photon25_L1R | L1_SingleEG15 | yes |
HLT_IsoPhoton15_L1R | L1_SingleEG12 | yes |
HLT_IsoPhoton20_L1R | L1_SingleEG15 | yes |
HLT_DoubleIsoPhoton20_L1R | L1_DoubleEG10 | yes |
HLT_BTagMu_Jet20_Calib | L1_Mu5_Jet15 | yes |
HLT_LooseIsoTau_MET30 | L1_SingleTauJet80 | yes |
HLT_IsoTau_MET65_Trk20 | L1_SingleTauJet80 | yes |
HLT_LooseIsoTau_MET30_L1MET | L1_TauJet30_ETM30 | yes |
HLT_IsoTau_MET35_Trk15_L1MET | L1_TauJet30_ETM30 | yes |
HLT_DoubleLooseIsoTau | L1_DoubleTauJet40 | yes |
HLT_DoubleIsoTau_Trk3 | L1_DoubleTauJet40 | yes |
HLT_ZeroBias | L1_ZeroBias | no |
HLT_MinBiasHcal | ‡ | no |
HLT_MinBiasEcal | L1_SingleEG2 or L1_DoubleEG1 | yes |
HLT_MinBiasPixel | L1_ZeroBias | no |
HLT_MinBiasPixel_Trk5 | L1_ZeroBias | no |
HLT_CSCBeamHalo | L1_SingleMuBeamHalo | yes |
HLT_CSCBeamHaloOverlapRing1 | L1_SingleMuBeamHalo | yes |
HLT_CSCBeamHaloOverlapRing2 | L1_SingleMuBeamHalo | yes |
HLT_CSCBeamHaloRing2or3 | L1_SingleMuBeamHalo | yes |
HLT_BackwardBSC | 38 or 39 | no |
HLT_ForwardBSC | 36 or 37 | no |
HLT_TrackerCosmics | 24 or 25 or 26 or 27 or 28 | no |
† - L1_SingleMuOpen or L1_SingleMu3 or L1_SingleMu5
‡ - L1_SingleJetCountsHFTow or L1_DoubleJetCountsHFTow or L1_SingleJetCountsHFRing0Sum3 or L1_DoubleJetCountsHFRing0Sum3 or L1_SingleJetCountsHFRing0Sum6 or L1_DoubleJetCountsHFRing0Sum6
%COMPLETE4%
The observation of a Higgs boson-like in 2012 with a mass of 126 GeV has been an extraordinary event for CMS and for particle physics. The next goal of the experiment is to characterize the properties of this new boson, and confirm/exclude that it behaves as the Standard Model (SM) Higgs. One fundamental property to study is the new boson's coupling to fermions. We will focus on a H->bb search which has the largest decay branching ratio (~60% at 125 GeV) and particularly when H is produced in association with a vector boson (V = W or Z). This is commonly referred to as the VH(bb) analysis.
In this Exercise we will start with an overview of the differences between signal and background processes and corresponding discriminating variables in the channel. We will try to define our selection cuts in order to maximize the probability to observe a signal in our data. We will perform a fit using the dijet invariant mass as the discriminant to set exclusion limits on the Higgs production cross section (or observe an excess compatible with the SM Higgs). If time permits, we will also perform an analysis of the diboson process VZ(bb) that provides a crucial calibration for the H ->bb search. This Exercise is based on the LHCP 2013 m(jj) analysis in the highest boost regions with some simplification.
Here is a link to some slides for general introduction of the analysis..
The course area for this Exercise can be found at elog.
We assume the participants to have basic knowledge of C++, ROOT and the CMSSW framework. We also assume the participants to have completed the CMSDAS Pre-Exercises and have an LPC computer account.
Suggested short exercises (not all of them, but as many as possible!): Jets, Btag & Vertexing, Particle Flow, RooStats, Electrons, Muons.
For CMSDAS @FNAL January 9-11, 2014:
Souvik Das (sdas@cernNOSPAMPLEASE.ch)
Caterina Vernieri (caterina.vernieri@cernNOSPAMPLEASE.ch)
Leonard Apanasevich (apana@fnalNOSPAMPLEASE.gov)
Jia Fu Low (jia.fu.low@cernNOSPAMPLEASE.ch)
If you have questions regarding the Exercise, please don't hesitate to ask the facilitators.
The Exercise is divided into a number of steps that should be completed in order. It is planned for the length of two days. On the first day, we will study the signal and background characteristics using MC samples, and try to optimize the selection to achieve the best sensitivity to the H->bb signal. On the second day, we will study how to use control regions in data to correct the Monte Carlo (MC) predictions and finally look at the real data in our signal regions. There are several questions to be answered in order (each one requires to large extent the studies performed for the previous questions). You will use the answers to the questions to prepare your presentation, so try to address them carefully )
Depending on the number of students, we will decide if we can cover all 5 VH(bb) channels. If there are 5 students, each student can take an individual channel. More experienced student should take more difficult channel (Z->νν, then W->eν, W->μν, Z->ee, Z->μμ).
The 2013 version of this Exercise focused on the WH channel and was better developed. It was an effort mainly carried out by David Lopes-Pegna and Michele de Gruttola. We decided to update in 2014 to include all five channels but it's still less well developed at the moment. Sorry about that
First of all, connect to a LPC machine. You might need to initialize your Kerberos credentials by doing ( Note: replace yourusername
by your CMS username):
kinit -f -A yourusername@FNAL.GOV
(In recent Mac OS X versions, you will use kinit -A
)
This will also allow you to login without using your cryptocard (if you have one). Now use SSH to connect to a LPC server:
ssh -Y yourusername@cmslpc-sl5.fnal.gov
Once connected, create the working directory, and set the CMSSW release.
mkdir VHbbAnalysis cd VHbbAnalysis source /uscmst1/prod/sw/cms/cshrc prod source /uscmst1/prod/grid/gLite_SL5.csh source /uscmst1/prod/grid/CRAB/crab.csh setenv SCRAM_ARCH slc5_amd64_gcc472 cmsrel CMSSW_6_1_2 cd CMSSW_6_1_2/src cmsenv cd ../..
Several samples, both signal and various backgrounds, and datasets are required for this analysis. They are typically very large and require extensive use of grid computing to process. In order to avoid re-processing over the grid every time a minor selection criterion is changed (in the course of optimization), a multi-step workflow has been developed as discussed here. First, we run a PF2PAT sequence to produce EDM output ntuples (called "Step 1"). Then, we run on the Step 1 outputs to produce "Step 2" files. The purpose of the Step 2 is to reduce the output rate (i.e. skim) and save in simple root-tuple a fairly large set of variables used for the final analysis, so that the analysis can be run on a laptop.
The skimming part of the Step 2 does the following selection:
For this Exercise, we apply additional cuts to further reduce the file size (requiring p_{T}(V) > 120 GeV for Z->ll, p_{T}(V) > 130 GeV for W->lν, and p_{T}(V) > 150 GeV for Z->νν). These reduced Step 2 can be found at the following location:
/eos/uscms/store/user/cmsdas/2014/Hbb/Step2/
(Note: the "ZJets" name in ntuples refers to Z->νν events; while the "DYJets" refers to Z->ll events)
We will take a look at MC signal events (with m_{H}=125 GeV) and get familiar with the most important variables. Open one of the following files:
# Zmm, Zee /eos/uscms/store/user/cmsdas/2014/Hbb/Step2/Step2_ZllH125.root # Wmn, Wen /eos/uscms/store/user/cmsdas/2014/Hbb/Step2/Step2_WlnH125.root # Znn /eos/uscms/store/user/cmsdas/2014/Hbb/Step2/Step2_ZnnH125.root
You can open them in ROOT by root -l file.root
. Once it's opened, you can browse by calling (in ROOT): new TBrowser
. The definition of the variables in the root files is available in Ntupler.cc (but you don't have to go through it now).
Question 1: Which variable in the ntuple controls which vector boson mode we are reconstructing?
(Hint: its name has a "V".)
We have prepared macros (!GitHub repository) to help you make plots. To get them:
cp -r /eos/uscms/store/user/cmsdas/2014/Hbb/macros/ . cd macros
For the Zmm channel, use the plotHistos_Zmm.C
, which has some dependency (Note: for other channels, replace "Zmm" by the channel name):
plotHistos_Zmm.h
: this is where all the functions are implemented.
tdrstyle.C
: this is to make plots beautiful.
XSec_8TeV19invfb.h
: this is to get cross sections of MC samples (will be relevant later).
Take a look at plotHistos_Zmm.C
. You should quickly find where it says "Task 1 (a)". Try to understand what it is doing, and run :
root -l plotHistos_Zmm.C+
It should make a plot of the dijet invariant mass distribution from signal events and save it in png and pdf format (in plots
directory). To view the plot, do display plots/Zmm_Hmass.png
. (To quit, just press CTRL+C).
You can change the basic event selection (hence change the loading time) by changing this line:
TCut cutmc_all = "Vtype==0";
you can change the variable to plot by changing this line:
TString var = "H.mass";
and you can also apply additional cut per plot by changing this line:
TCut cut = "V.pt>0";
The implementation of MakePlot(...)
is in plotHistos_Zmm.h
. Try more interesting variables and vary the cut. If you think of some variable but can't figure out the name of that variable in the ntuple, please feel free to ask the facilitators.
After that, you can comment out the block for "Task 1 (a)", and uncomment the block for "Task 1 (b)". Here, you can plot a variable using two different processes and compare their distributions. Try to make comparison plots of several variables for signal vs. V+jets (or ttbar).
Question 2: Can you find at least two variables for which the signal distribution is very different from the one for background events?
(Hint: think about what the final state observables are and their correlations.)
Now, we will start to build the set of selection criteria to isolate our signal events. The figure of merit (FOM) that we will use is a modified Punzi significance, given by:
S/(sqrt(B)+a/2+ 0.2*B)
where a
is the statistical significance, and we aim for 3 sigmas. The linear term proportional to the background (=0.2 or 20%) accounts for the systematic uncertainty on the background knowledge. If you are interested to know more about this FOM, please read this.
Comment out the block for "Task 1 (b)", and uncomment the block for "Task 2". You will optimize for the best significance of the signal vs. all backgrounds added in the correct proportions. We recommend that you optimize the following variables:
V.pt
(variable name in the ntuple)
H.pt
max(hJet_csv_nominal[0],hJet_csv_nominal[1])
(value goes from 0 to 1)
min(hJet_csv_nominal[0],hJet_csv_nominal[1])
(value goes from 0 to 1)
abs(HVdPhi)
(value goes from 0 to π)
H.mass
Let's spend a few minutes trying to understand what makePlots(...)
does. Can you explain what is the difference between cutmc_all
and cutmc
? Since this uses all the backgrounds, it will take a longer time to run. We will run in batch mode to speed up:
root -l -b -q plotHistos_Zmm.C+(Remember the "+" sign at the end!)
The MC samples are re-weighted by two scale factors: the pileup (PU) weight in order to match the data PU distribution, and the trigger weight which includes effects from trigger/lepton id/reconstruction efficiency. The leptonic triggers are not applied in the MC, so we re-weight the events based on the data trigger efficiency, which is determined bu using Tag-and-Probe techniques for all triggers involving leptons. Can you find out where these two weights are applied? (Hint: look for weightTrig2012
and PUweight
)
For the MET triggers, we apply the MC simulated trigger decisions, and then correct the efficiency by a data/MC scale factor. In addition, we also apply a number of MET filters to reject events with fake MET. Look for triggerFlags
and triggercorrMET(...)
.
As you can see the code prints the relevant variables for the FOM calculation. The task ahead of us is to determine the optimum set of cuts to maximize the FOM. As you have learned in the introduction, the topological signature that maximizes the FOM will be (using WH as example):
Sum$(aJet_pt>xx && abs(aJet_eta)<2.5)==0
in which you can choose the thresholds on the p_{T} of the additional jets, if restrict to central jets or no, and if force/allow for extra jets passing the selection criteria listed)
Sum$(aLepton_pt>xx && abs(aLepton_eta)<2.5 && (aLepton_pfCombRelIso<yy) )==0
, currently not applied )
Question 3: Find the set of cuts that optimizes the FOM
(Hint: use a "for" loop)
Question 4: Which are the most important backgrounds (i.e the largest)? Why? Prepare a couple of sentences to explain if/why you were expecting these backgrounds to be the most important ones.
(Hints:
Once you are done, compare your optimized selections across channels. Do different channels end up with different selections? How come? Also, compare your results with the one in the 2013 VH(bb) analysis (Table 9 in AN-2013/069, which can be found here).
In the VH(bb) analysis, a multivariate technique using boosted-decision-tree (BDT) regression is applied to calibrate the b-jet energy closer to its true value. You have probably realized by now that the dijet invariant mass is the most discriminating variable, and better jet energy measurement will improve the mass resolution. Due to some delay in preparation, the regression technique is currently not included in this Exercise. It was covered in the CMSDAS 2013 exercise (see here) which uses an older version of the ntuples, but they contain the regression-trained b-jet energy. Interested students can refer to this material or ask the facilitators for further information.
A reasonable question to ask is if the FOM we chose is really providing the best results (i.e. best sensitivity). In the past (2011) we were interested in getting the best exclusion limits on the Higgs production as we didn't have enough statistics to be sensitive to the Higgs excess. With the current dataset at hand (and knowing that there is a new boson at 126 GeV!), we can try to optimize directly for the best significance of a possible Higgs excess.
In order to do this, we need to introduce the Higgs combination machinery (that you may be familiar with if you have done the RooStats exercise).
cd $CMSSW_BASE/src git clone https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit.git HiggsAnalysis/CombinedLimit/ cd HiggsAnalysis/CombinedLimit/ git checkout V03-05-00 scramv1 b -j 5 rehash cd ../../../..
Note that the HiggsAnalysis/CombinedLimit
installation only needs to be done once.
First, we need to ask ourselves what are the systematic uncertainties associated with this search. So far, we have only looked at the MC simulation, and we do not know if they match the reality (real data), Can you name a few variables that could be different in MC vs. in data? Which ones have the largest effects on the search?
Now uncomment the block for Task 3 (keeping the Task 2). MakeDatacard(...)
writes out a "datacard" (e.g. vhbb_Zmm_8TeV.txt
for Zmm). This is a simple cut-and-count datacard, with the numbers of expected signal and background events and the observed number of events, as well as systematics. In the course of optimization, we want to remain "blind" to the real data to avoid (human) bias. Hence, the macro currently enters the total MC expectations for signal plus all backgrounds as your "observation". Try to understand what systematics are and how they are correlated. The best resource to help you is the Higgs combination twiki. Note that the systematics should be channel-dependent and selection-dependent, and should be measured carefully. For this Exercise, we are using some guesses, not realistic numbers.
To calculate the significance you will run:
combine -M ProfileLikelihood --signif datacard.txt
Question 5: Repeat the optimization using the significance from the combine
tool as FOM.
(Hint: code a loop that produces many datacards and then feed them to combine
. You should not start the optimization from zero, but start from the one you got with the Punzi FOM.)
Once you are happy, run the following to get the expected exclusion limit and report what you find:
combine -M Asymptotic datacard.txt
If you have enough time, try to repeat it for other Higgs mass points as well. And, if you are feeling adventurous, you can try to do a shape analysis using the m(jj) distribution. This is done in the actual analysis (see note below).
OPTIONAL: Suppose that you found in the optimization that the best sensitivity is p_{T}(V)>130 for WH. It was found that splitting the events in two or more categories based on p_{T}(V) helps improving the sensitivity. Can you guess why? Create two categories in p_{T}(V) and then use the combineCards.py
script to create the final datacard (for example, you may try p_{T}(V)>130 && p_{T}(V)<180 and p_{T}(V)>180). The syntax of combineCards.py
is:
combineCards.py datacard1.txt datacard2.txt > datacard_combined.txt
You may also try to optimize the significance by varying p_{T}(V) cuts used to define the categories.
Instead of optimizing for the best m(jj) window, one may consider including the full m(jj) spectrum in a "shape" analysis. This allows the final fit to use the m(jj) sideband to estimate the number of background events in the m(jj) signal window. You can think of a binned shape analysis as doing cut-and-count in more than one m(jj) bin, taking into account correlations between bins. In the VH(bb) analysis, this generally improves the sensitivity by 30-50% over cut-and-count.
While doing the optimization studies, you may quickly realize that, as the number of variables grows, it becomes much more time consuming. You may wonder if there is a more clever way... Indeed, the problem is so common in high energy physics that there is a package in ROOT called TMVA that does multivariate data analysis. It allows one to use machine learning algorithms to find patterns among various input variables that can discriminate signal from background. In the VH(bb) analysis, we use the boosted decision tree (BDT) algorithm, which consists of a series of binary decision nodes, each node optimized to give the best signal/background separation. In the end, all the nodes are combined to give a final (continuous) discriminant. MVA could improve over an already optimized cut-and-count analysis by 10-30% sensitivity.
Today, we are ready to start looking at data! When running on data, we need to apply additional cuts:
XSec_8TeV19invfb.h
(e.g. trigZmm
for Zmm).
We would like to use data to estimate the actual yields of the most important backgrounds. In order to achieve this, we need to build background-enriched control regions, not overlapping with the definition of the signal region that we have determined in the previous steps of the exercise, to isolate these important backgrounds. The idea is:
Let's start by building the V+LF control region for each channel, and plot a variable that we knows is different in data vs. MC: the number of primary vertices. In plotHistos_Zmm.C
, remove the exclamation mark in front of plotData
in
# To plot data, change !plotData to plotData TString options = "printStat:plotSig:!plotData:!plotLog";
Question 6: Find the variable in the ntuples for the primary vertex multiplicity. Plot data over MC for this variable with and without applying the PU reweighting variable PUweight
. How does the MC distribution change compared to data? Send the two plots with and without PU reweighting to the facilitators. If you have extra time, you can also make p_{T}(V) plots with and without applying the trigger weight.
Then, go ahead and make some of the most relevant distributions, and see if MC and data are in good agreement. You can make more than one plots in a single call by adding more MakePlots(...)
commands. After that, start working on other control regions. As you will notice while playing with the cuts, it's very difficult to build control regions completely pure in one of these three background components. If you end up with too little statistics, you should loosen some of the cuts to gain more statistics.
Question 7: Prepare TCut's for the definition of the control regions based on Section 10 in AN-2013/069. Show... Hide
Question 8: Compare the data and MC yields you obtain with the TCut's you have just defined. Send to the facilitators the yields for data and all MC components that you have found.
The goal here is to provide data/MC scale factors (SF's) to correct the yields of V+LF, V+HF, ttbar processes. Due to the fact that the purity of these control regions is not 100%, we do not apply the raw data/MC scale factors to reweight these backgrounds. Instead, we use the MC templates for every backgrounds in every control region to fit simultaneously the scale factors. For this Exercise, we will do a simpler thing: focus on a single control region at a time, find a scale factor for the dominant background there; then do the next control region, applying the scale factor found previously. We should start with the largest background then do the next largest background and so on. A simple way to find the scale factor is to solve for SF:
N_{data} = N_{bkg i} * SF_{i} + N_{all other bkgs}
As a good practice, you should use a variable other than the m(jj) e.g. p_{T}(V), maxCSV or minCSV. Admittedly, it does not matter for this simple scale factor method. In principle, you also want to know what is the uncertainty on your scale factors. Think about how to estimate the uncertainty.
Once you have your scale factors, you may enter them in plotHistos_Zmm.C
by looking for scalefactors
, and check whether you have improved (or degrade) data vs. MC agreement. Try to identify where they are applied.
// The following enters each entry into the histogram with a weight of "cutmc" * PUweight * lumi_TT * sf_TT // where lumi_TT = lumi_data * xsec_TT / nMCEvents produced ev->TT->Project("TT", var, cutmc * Form("%5f * PUweight", ev->lumi_TT) * Form("%f", ev->sf_TT));
Note that as the optimization procedure depends on the relative amount of signal and background, now that you have reweighted some of the background contributions based on data control regions, you may wonder if your optimization is affected. So you could try to rerun the optimization with the scale factors applied (although you don't have to).
Question 9: Prepare data over MC plots for each control region for 3 variables of your choice, before and after applying your scale factors. Also, report the scale factors that you apply. Example plots can be found in pg.56-112 the AN-2013/069.
We are now ready to produce the final m(jj) plots in the signal region. We will repeat Task 2 and Task 3, but now with your own scale factors (and using your optimized selection)!
Note: for W->lν and Z->νν channels, if the macro is running too slowly, consider moving all the cuts in cutmc
into cutmc_all
, and do the same for cutdata
and cutdata_all
.
Question 10: Prepare data over MC plots for m(jj) using the signal region TCuts (except the m(jj) window cut).
Let's now run the limit extraction to get the observed limits. For each channel, you need to enter the observed yield on data and the MC expectations for the signal and the different backgrounds. After proper modifications to the datacards, to get the observed limits, just run again:
combine -M Asymptotic datacard.txt
How well do they match your expected limits? To characterize observed excess significance (if any):
combine -M ProfileLikelihood --signif datacard.txt # Use the following to get expected significance without changing anything in datacards: #combine -M ProfileLikelihood --signif -t -1 --expectSignal=1 datacard.txt
Question 11: Enter the MC expectations and observed yield on data in the signal region in your datacard and send it to the facilitators.
If every channel is managed to get a datacard, please upload it by doing:
cp vhbb_Zmm_8TeV.txt /eos/uscms/store/user/cmsdas/2014/Hbb/datacards
When all the datacards are there, download them all by:
cp -r /eos/uscms/store/user/cmsdas/2014/Hbb/datacards .
To combine them, we use the script combineCards.py
:
cd datacards combineCards.py vhbb_Zmm_8TeV.txt vhbb_Zee_8TeV.txt vhbb_Wmn_8TeV.txt vhbb_Wen_8TeV.txt vhbb_Znn_8TeV.txt > vhbb_8TeV.txt
Isn't that easy? Please open vhbb_8TeV.txt
and take a look. Now try to get exclusion limit and statistical significance again. Does the "combined" has better sensitivity than the highest sensitivity of a single channel? By how much? How do your limits compare to the current official CMS limits?
If you were able to get to the shape analysis, you can repeat the limit extraction again. How much better is the shape sensitivity compared to that of the C&C? If you have uploaded your shape datacard (and its input root file) to the same location and downloaded other shape datacards, then you can also make a combined m(jj) plot by doing:
# First, go back to your "macros" directory # Then, do: root -l plot_combined_mjj.C+
As you know, background from diboson production such as WZ(bb) and ZZ(bb) have the same signature as our signal events (they are "irreducible"). For this reason, the VV background is challenging but it also provides a excellent sample to calibrate the VH(bb) analysis. Get an additional macro:
cp /eos/uscms/store/user/cmsdas/2014/Hbb/VV_Bkg.C $PWD
and look at it. Modify it appropriately and produce a VV-bkg subtracted plot to show if you see any evidence of diboson events with Z->bb. You can also try to extract the VZ(bb) signal, modifying properly the datacard you wrote for the VH signal to get the observed limit in this case.
Please review the slides given under Introduction. Plots can be shared by uploading them to the elog. Make some nice table from your results. If you require any material, please let us know. Good luck!
-- LeonardApanasevich - 22 Jan 2009