# Difference: TopStatisticsCode (1 vs. 2)

Revision 2
13 Jan 2010 - Main.JennyHolzbauer
Line: 1 to 1

 META TOPICPARENT name="TenTeVAnalysis"

# Top_Statistics

Line: 12 to 12

*NOTE
it is possible to add more than one channel. So you could declare two channels and add them both in within this step.
• Do some calculation and print out to screen
Changed:
<
<

## example_x

This program calculates the cross-section and vtb. This section offers some addtional explaination and notes on this program.
>
>

## Program Changes

This section offers some addtional explaination and notes on these programs.

What you might need to modify within the program:
• If you have more than one channel, you will want to alter the code to declare two channels and add them both to the limit/limit, ensemble objects (this may be a feature in a future version)
• You will need to change the channel's signal and background yields in the lines with SetValue() as a method. The Signal+Background for MC or Data for data is set with channel.setObs()
• If you have systematics, you will need to change the SetSys() methods to your systematics and their values. If you don't comment them out
Changed:
<
<
• NOTE: The name
>
>
• NOTE: The name of some of the systematics matter. For instance, you must use "MCstats" for the MC statistical uncertainty, as this signals the program to use a Gamma Prior
• For the cross-section, you will need to change the inXS parameter at the beginning of the program to whatever your expected cross-section is for your energy
• The cross-section program will also calculate a scaled cross-section. This was a quick add-on recently, so you will want to be sure that the cross-section that you are scaling to is the one you are using for your collision energy.

## How to run the programs

The cross-section program is the most straightforward. To generate a cross-section (pretty fast):

` ./example_x  -nEns 10000 `

Where -nEns specifies the number of ensembles (a higher number takes longer to run but is more accurate)

To find vtb, just pass an arguement:

` ./example_x  -vtb -nEns 10000 `

The significance program is a little more complicated because it involves multiple steps.
` ./example_LLR_x -xs 323. -out atlasLLR_st_323.root -nEns  5000`
` # figure out the mean LLR value from the above run (it is in the print out), and then feed it to the following as -checkLLR`
` ./example_LLR_x -xs 0. -out atlasLLR_st_0.root -nEns 1000000 -checkLLR -16.6482`

The checkLLR part isn't strictly nessesary, but you do need to generate ensembles at xs = 0 and xs = signal cross-section. The number of ensembles for the xs = signal cross-section case usually needs to be much larger than the xs = 0 case. The macro you will need to determine the actual significance (llr_plot.C, see below) will require both a xs = 0 and a xs = signal cross-section file to run.

If you think you will have a large significance, you will need lots of ensembles, which will take a long time to run. In this case, you may want to generate lots of smaller sets of ensembles that use different seeds, like

` example_LLR_x -xs 323. -out atlasLLR_dt_323_623.root -nEns 1000000 -seed 623`

Once the output files are written, you can add them together (with hadd) and run them in a program to determine the significance. This program is misc/macros/llr_plot.C I have a slightly modified version of this macro, as well as a script to write lots of ensemble generation jobs for the grid. Please let me know if you would like either of these. Otherwise, I will put them on CVS after I have tried them out again.

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback