|
2008May14ANL Jamboree (May 14-17, 2008). Egamma/Photon subgroup Task: to run over FDR reprocessed data. The data are described in FDR TriggerMenu. Run over the data locally and then using pathena. Participants: Robert Blair (reb@anl.gov) Sergei Chekanov (chakanau@hep.anl.gov) XXX ... How to install and run the analysis program:
mkdir $HOME/testarea mkdir $HOME/testarea/13.0.40
cp -r /users/chakanau/public/testarea_egamma/13.0.40/* $HOME/testarea/13.0.40/
cp /users/chakanau/public/set_user.sh .
source set_user.sh (put this script in .bash_profile or .bashrc if you want to set up the ATLAS staff every time you login)
testarea/13.0.40/analysis/PromptGamma/cmt and type: cmt broadcast cmt config; source setup.sh; cmt broadcast cmt make This installs the program on your computer. Note: if you will modify PromptGamma program, next time you can just type (from PromptGamma/cmt): make (You do not need to type "broadcast")
load (see info when you set up atlas soft). cd testarea/13.0.40/analysis/PromptGamma/run_anl_FDR and type: ./a_run. It will run over all FDR files. Look at the script a_run where you can specify the data set. Edit Analysis.py if you need (No of events, container types, cuts). The Lumi value is fake (it is given in LUMI.INFO file) at this moment. The output is Analysis.root file. Look at RecoGamma or RecoJets directories inside of this file to plot Eta and Pt etc. histograms for reconstructed photons and jets. Also, check *.log files (athena output, AOD keys and trigger fired slots).
cd testarea/13.0.40/analysis/PromptGamma/run Edit the submission script a_run_panda. Put: datasetname="fdr08_run1.0003050.StreamEgamma.merge.AOD.o1_r6_t1" and correct output="user.SergeiChekanov.005808.JF35_pythia_loosejet_filter" (put your user name here). Then type: ./a_run_panda You will see a message similar to this: archive sources archive InstallArea post sources/jobO query files in dataset:trig1_misal1_mc12.005808.JF35_pythia_loosejet_filter.recon.AOD.v13003002 submit =================== JobID : 10 Status : 0 > build PandaID=8408625 > run PandaID=8408626-8408720 --> Submit to the grid ---
pathena_util show()
Panda monitor web page
dq2_get -rv user.<UserName>.test3.StreamEgamma.merge You will see 2 files: log file and the root output file. Open the root file and check histograms inside RecoGamma and RecoJets directories. They should be filled. Cross section measurement Assume that FDR Monte Carlo sample is our data. Let's try to correct such data using a Monte Carlo simulation. In this case, we should fill the truth information about jets and gammas. The true information are in histograms in "TrueJet" and "TrueGamma" directories of the ROOT file "Analysis.root". Try to run over a proper prompt-photon Monte Carlo simulation: For this, go to the directory "run_anl_MC" and run the script "a_run". This is almost identical script, only this time you will run over AOD files located in "/data/nas2/users/chakanau/data/mc/pythia_prph40" (PYTHIA events with MSEL=10 and min PT for hard sub-processes 40 GeV). You should get the output "Analaysis.root" with histograms in the directories "TrueJet" and "TrueGamma" properly filled. Now make a corrected PT-gamma distribution using ROOT. Go out from the "run_anl_MC" directory (cd ..) and make a simple ROOT script (acceptance.py): #!/usr/bin/env python # simple pyROOT script to otian acceptance from ROOT import gROOT, TFile, TCanvas, TH1F, TH1, TPostScript, TF1 gROOT.Reset(); f1=TFile( "./run_anl_FDR/Analysis.root" ) # data f2=TFile( "./run_anl_MC/Analysis.root" ) # MC (detector and truth levels) # build canvas c1=TCanvas("c","Gamma",10,10,400,600); ps1 = TPostScript("figure.eps",113) # get pt histogram (reconstructed object) h1r=f1.Get("RecoGamma/reco_gamma_pt") h1r.Sumw2() # get pt histogram (true object) h1t=f2.Get("TrueGamma/true_gamma_pt") h1t.Sumw2() # divide them rat1=h1r.Clone(); rat1.SetName("Acceptance") rat1.Divide(h1r, h1t, 1.0, 1.0, "B"); # draw acceptance rat1.Draw("pe") c1.Update() ps1.Close() myinput="0" if (myinput != "batch"): if (raw_input("Press any key to exit") != "-9999"): sys.exit(1); ################# end ############################### Take care of indentations when copying the script! Well, now try to modify this script by extracting data histogram from "f1" and by multiplying this histogram by acceptance correction (histogram "rat1"). Also, if you know the lumi, divide this histogram by the lumi number to obtain a toy-like cross section Cross section measurement Assume that FDR Monte Carlo sample is our data. Let's try to correct such data using a Monte Carlo simulation. In this case, we should fill the truth information about gammas. The true histograms are in "TrueGamma" directory of the ROOT file "Analysis.root". Try to run over a proper prompt-photon Monte Carlo simulation: For this, go to the directory "run_anl_MC" and run the script "a_run". This is almost identical script, only this time you will run over AOD files located in "/data/nas2/users/chakanau/data/mc/pythia_prph40" (PYTHIA events with MSEL=10 and min PT for hard sub-processes 40 GeV). You should get the output "Analaysis.root" with histograms in the directory "TrueGamma" properly filled. Now let us make a corrected PT(gamma) distribution using ROOT. Go out from the "run_anl_MC" directory (cd ..) and make a simple ROOT script (acceptance.py): #!/usr/bin/env python # simple pyROOT script for acceptance gROOT.Reset(); f1=TFile( "./run_anl_FDR/Analysis.root" ) # data f2=TFile( "./run_anl_MC/Analysis.root" ) # MC (detector and truth levels) # build canvas c1=TCanvas("c","Gamma",10,10,400,600); ps1 = TPostScript("figure.eps",113) # get pt histogram (reconstructed object) h1r=f2.Get("RecoGamma/reco_gamma_pt") h1r.Sumw2() # get pt histogram (true object) h1t=f2.Get("TrueGamma/true_gamma_pt") h1t.Sumw2() # divide them rat1=h1r.Clone(); rat1.SetName("Acceptance") rat1.Divide(h1r, h1t, 1.0, 1.0, "B"); # draw acceptance rat1.Draw("pe") c1.Update() ps1.Close() if (myinput != "batch"): if (raw_input("Press any key to exit") != "-9999"): sys.exit(1); ################# end ############################### Well, now try to modify this script by extracting data histogram from "f1" and by multiplying this histogram by the acceptance correction (the histogram "rat1"). Also, if you know the lumi, divide this histogram by the lumi number to obtain a toy-like cross section S.Chekanov (ANL). Version: 2008-05-6 |