Difference: TopStatisticsCode (1 vs. 2)

Revision 2
13 Jan 2010 - Main.JennyHolzbauer
Line: 1 to 1
META TOPICPARENT name="TenTeVAnalysis"


Line: 12 to 12
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


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
    • 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.

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