TurboSim : Validation with CMSSW_3_2_1 (logbook)

Q. What is TurboSim ?

Ans. Turbosim is a self tuning detector simulation, aimed for a fast a very quick production of detector simulated data. A typical data simulation chain consist of event generation (TreeLeve+Showering+Fragmentaiton) , full detector simulation, reconstruction/Identidification and finaly supplying the four vectors. TurboSim, fits in by replacing the "Fragmentation+FullSimulation+Reco/Id" chain by the lookup tables. The lookup tables are created by onetime training with events from full simulation.

Q. Why use TurboSim?

Ans. It is extremely fast and thus can be used to simulate large mc sample over many many points in the parameter space.

Q. What are the baby steps a new user needs to make ?

Ans. TurboSim is quite easy to Run. I see five logical steps (at the moment),

1. Dump the events into a particular text format. This can be done using "EventDumper" module.

2. EventDumper create two text files:

A. PartonEvents.txt: parton level events.

B. RecoEvents.txt : reco level events.

3. LookUp table (map between "parton level cluster and reconstructed object") can be created, as follows

turboSim  --simulate partonEvents.txt recoEvents.txt > table.txt

4.The so called morphism table can now be used to simulate the "detector level data", in reponse to an input parton level file.

turboSim  -simulate genEvents.txt  table.txt > simulatedEvts.txt

5. The Simulated Data can be used for analysis.

Q. What is the format in "recoEvents.txt" file produced by TurboSim?

Ans. Events are written as blocks of characters and white spaces, separated by semicolon+"endline" character from each other. Probably there is never an "endline" character, at any place other than end of given event description. With in a given event, we have first of all "string" descriptor, followed by event number, name of projectiles, center of mass energy of collision and a list of particle objects native to that event. A particle description in an given event begin with a string (name) followed by "pT", "Eta" and "Phi". In case the particle object happens to be a jet, the description consist of a string(name), mass, pT, Eta, Phi. Two sample event descriptions are shown below.

sig  5115  1  pp  10000  0  0  e- 72.818 1.411 -90.18  j 10.257 32.386 -1.107 137.14  j 74.067 269.66 1.216 -86.47   ;

sig  5116  1  pp  10000  0  0  j 6.19 37.873 2.053 2.8  j 24.948 116.098 -0.18 -104.4   ;

TurboSim : 24 Sept. 2009

Well, I have been able to perform the above steps, at present I have text file corresponding to TurboSimulated events. The aim next is to develop a framework for the analysis of these files, part of CMSSW (on same lines as "PhysicsTools/Utilites"). A package VstEventAnls, has thus been created and is being evaluated before distribution. The package reads, sort and finally create ntuples in root format.

The current version of the package has following utilities:

  1. interface/VssUtils.h : This contain some recipies most of which are customized string manipulation functions. They are needed to first slice event string, into many substrings (each representing a particle), and then split particles into small substrings (each representing a physical quantity for that particle). These physical quantities are then recovered by converting corresponding string fragment to "double". We have : std::vector<std::string> split(std::string&), std::vector<std::string> slice(std::string&) and double ConvertToDouble(std::string& ) to do all this.

  1. interface/VstParticle.h : Contains decalration and implementation of VstParticle class. Various physical properties are available through accessor functions e.g. Pt(), Eta(), Phi() so on.

  1. interface/VstEvent.h: It is basically a wrapper around a std::vector of VstParticle objects. But also contains few more attributes like: projectile, center of mass emergy, event number etc. .

4. interface/VstNtupleMaker : This is a utility class that use all the above, and produce "ntuplised" version of the "turboSimulated" events.

The current study was performed with CMSSW_3_2_1 RelValLM1 sample. About 10000 events were available locally at cmslpc, so about 2000 were reserved as control sample and rest were used for the training.

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0006/C61293CF-B277-DE11-AD3C-001D09F241B4.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0006/ACB18423-8477-DE11-93B8-000423D99BF2.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0006/026EA20F-1C78-DE11-93B5-001D09F23C73.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0005/BC2B03B0-7B77-DE11-94D6-001D09F24303.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0005/B0A5FC81-7977-DE11-9464-0019B9F581C9.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0005/862CDBBB-7777-DE11-8C3A-001D09F26509.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0005/108FD525-7777-DE11-8472-001D09F2B2CF.root

/store/relval/CMSSW_3_2_1/RelValLM1_sfts/GEN-SIM-RECO/MC_31X_V3-v1/0005/001017BD-7877-DE11-A8F0-001D09F2960F.root

After training , the gen events from the reserved control sample were fed to the TurboSim. The "TurboSimulated" events so obtained were compared with the reco-simulated events from same control sample. Here are some plots to show this comparison, agreement observed is encouraging though we need to quantify it.

Energy and Transverse Momentum for Jets

Jet Eta and Phi

The kinematic variables for muons, and electrons are also shown below

Energy and Transverse Momentum for Electrons

Energy and Transverse Momentum for Muons

Eta and Phi for the Electrons

Eta and Phi for Muons

TurboSim : 27 Sep 09

Now that we are in shape to get various distributions of TurboSimulated events. Next what is needed is quantifying the degree of agreement between the turbo and reco simulations. Also current module of EventDumper module is blind to all objects other than muons, electrons and Jets, immediate task is to extend it to deal with things like: photons, missing energy, and btags. Finally a big trainging set comprising of events from a few LM points is to be created and used to fill TurboSim lookup database but before that happens few questions must be dealt with.

Just Sent a lengthy email to Vista guys and Harry, and put forward my doubts. Here are exercepts from it,

I have certain questions (some very stupid) that need be answered before I can take a larger effort with really large chunk of data (like summer08). For the sake of clarity I am expressing my doubts in jargon from  "electron reconstruction" bussiness.

Q1.  From a given reco-simulated sample, I can select electron sample with varying degree of purity (i can choose simply superclusters, or trackmatched superclusters, or isolated trackmatched sc ..so on). What should one use for the training purpose. ??

Q,1,1 If I train with a very loose  reco electron selection, then how do I remove cross-objects and fakes from turbo-simulated electron sample ?? (reco electrons have various attributes like delEta., track isolation etc. to help)

Q1.2 If I use a very tight selection of reco  electrons to train, then how does the non-negligible inefficiency of each cleaning/purity cut affect the training...since for a given generated electron there may not be any reco-electrons passing a very stringent selection criteria.

Q1.3  Where do the trigger, electron reconstruction efficiencies come from for turbo-simulated data?

Q.2 What are the various "tunable parameters" that can be played around with, and how ?

Next update would probably contain some of the answers.

-- AnilSingh - 2009-09-20

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng JetE_comp.png r1 manage 12.6 K 2009-09-25 - 15:37 UnknownUser  
PNGpng JetEta_comp.png r1 manage 14.0 K 2009-09-27 - 06:53 UnknownUser Jet Eta for reconstructed and turbosimulated events
PNGpng JetPhi_comp.png r1 manage 13.4 K 2009-09-27 - 06:55 UnknownUser  
PNGpng JetPt_comp.png r1 manage 15.7 K 2009-09-25 - 15:37 UnknownUser  
PNGpng elePt_comp.png r1 manage 10.4 K 2009-09-27 - 07:00 UnknownUser  
PNGpng eleeta_comp.png r1 manage 11.5 K 2009-09-27 - 06:59 UnknownUser  
PNGpng elephi_comp.png r1 manage 13.7 K 2009-09-25 - 15:01 UnknownUser  
PNGpng muE_comp.png r1 manage 10.3 K 2009-09-27 - 06:56 UnknownUser  
PNGpng muEta_comp.png r1 manage 15.7 K 2009-09-27 - 06:56 UnknownUser  
PNGpng muPt_comp.png r1 manage 10.1 K 2009-09-27 - 06:58 UnknownUser  
PNGpng muphi_comp.png r1 manage 13.2 K 2009-09-27 - 06:57 UnknownUser  
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2009-12-16 - unknown
 
    • 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