namespace smear
Download
Skip this Video
Download Presentation
namespace Smear {…}

Loading in 2 Seconds...

play fullscreen
1 / 20

namespace Smear {…} - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

namespace Smear {…}. Michael Savastio. Tree Format. 1 to 1. 1 to 1. 1 to 1. Currently ParticleS stores E, p, theta, phi, pz , pT ONLY !. The Device Class. Smears exactly 1 particle-wise variable ( E,p,theta,phi,pz,pT ) using up to 2 of these variables to parametrize the smearing.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' namespace Smear {…}' - jenn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
namespace smear

namespace Smear {…}

Michael Savastio

tree format
Tree Format

1 to 1

1 to 1

1 to 1

Currently ParticleS stores E, p, theta, phi, pz, pTONLY!

the device class
The Device Class

Smears exactly 1 particle-wise variable (E,p,theta,phi,pz,pT) using up to 2 of these variables to parametrize the smearing.

Each device has it’s own “acceptance” in (E,p,theta,phi) space.

Particles passing through here will have smeared p and theta

Particles passing through here will have smeared E only

E

p

p

P

Theta

These particles will be smeared only by “innermost” (last added) device

IP

EventS

E

Will output only 1 EventS with only 1 instance of each particle.

phi

building a detector 1
Building a “Detector” (1)

DeviceEMCal_front;

EMCal_front.SetGenre(1); //this detects photons/leptons

EMCal_front.SetSmearedKinematics(kE); //set kinematics to be smeared by device

EMCal_front.SetParametrization("0.18*sqrt(E)"); //set parametrization

EMCal_front.Accept.SetTheta(0.,pi/4.); //set acceptance in theta

//similarly, you can do SetAcceptPhi(min,max), SetAcceptE(min,max) and SetAcceptP(min,max)

DeviceEMCal_back;

EMCal_back.SetGenre(1);

EMCal_back.SetSmearedKinematics(kE);

EMCal_back.SetParametrization("0.25*sqrt(E)");

EMCal_back.Accept.SetTheta(3.*pi/4.,pi); //set acceptance in theta

DeviceHCal;

HCal.SetGenre(2); //this detects hadrons

HCal.SetSmearedKinematics(kE);

HCal.SetParametrization("0.35*sqrt(E)");

building a detector 2
Building a “Detector” (2)

DeviceThetaD; //by default devices don\'t care whether hadron/lepton/gauge boson

ThetaD.SetSmearedKinematics(kTheta);

ThetaD.SetParametrization(”sqrt(9.e-8+pow(9.e-4/P,2))/sqrt(sin(theta))");

//can use 2d parametrizations

Device Tracker;

Tracker.SetSmearedKinematics(kP);

Tracker.SetParametrization("0.0085*P+0.0025*P*P");

Detector Test;

Test.AddDevice(EMCal_front); //add the EMCal to the detector

Test.AddDevice(EMCal_back);

Test.AddDevice(HCal);

Test.AddDevice(ThetaD);

Test.AddDevice(Tracker);

Test.SetPID(true); //turn on PID (still limited but works!)

Test.SetEventKinematicsCalculator("NM JB DA"); //set how to calculate event kinematcs. Can use scattered electron (null momentum approximation NM), Jacquet-Blondel or Double Angle.

Now in root:

gSystem->Load(“BuildTree.so”);

.L MyDetector.cxx

SmearTree(MyDetector(),”filename”)

To view in interpreter, for example:

TTree t;

t.AddFriend(“EICTree”,”originaltree.root”)

t.AddFriend(“Smeared”,”smearedtree.smear.root”)

t.Draw(“EICTree.x:Smeared.x”,”EICTree.QSquared>10”)

currently available smear detector setups
Currently Available Smear::Detector Setups

All with default 4*pi acceptance.

slide7
E

Pythia 20x250

ZEUS

ZEUS

STAR

STAR

slide8
p

Pythia 20x250

ZEUS

ZEUS

STAR

STAR

slide9
θ

Pythia 20x250

ZEUS

ZEUS

STAR

STAR

event wise kinematics
Event-Wise Kinematics

Pythia 20x250

ZEUS

STAR

Methods Available:

NM (using scattered electron in the Null Momentum approximation)

JB (Jacquet-Blondel, using hadronic system)

DA (Double Angle, using hadronic system)

particle id
Particle ID

π+

π-

PID not Generated:

Momentum outside range of validity

p+

K+

K-

unidentified

Based on HERMES RICH P-matrices (shown on grid above)

to do
TO DO
  • Thoroughly test event-wise kinematics (NM, JB and DA). Determine appropriate phasespace cuts.
  • Fix anomalous (but very minor) stability issues. These may be CINT memory management issues.
  • Overhaul PID to be far more flexible. Currently based on HERMES RICH format. Software-wise, this is the most labor intensive remaining task.
  • Improvements and testing for exception handling (especially with limited acceptance). Make more educated decisions about default conventions.
  • Gather parametrizations (help welcome!).
  • Electron bremsstrahlung
update
UPDATE
  • Event Kinematics are fixed, all methods now work reliably (using scattered electron, or hadronic system).
  • Improved exception handling, especially for event kinematics.
  • Particle ID has been completely rewritten and is now much more versatile.
  • Specialized “Devices” (tracking, calorimetry).
  • Arbitrary acceptance cuts.
  • Acceptance of specific particles.
  • Smearing of arbitrary functions of particle kinematics.
  • Many improvements to make scripting simpler.
building a detector update 1
Building a “Detector” (Update,1)

EMCalorimeterEMCal(0.18);

EMCal.Accept.SetTheta(0.,pi/4.); //set acceptance in theta

EMCal.Accept.AddZone();

EMCal.Accept.SetTheta(3.*pi/4.,pi,1);

//similarly, you can do Accept.SetPhi(min,max), Accept.SetE(min,max) and Accept.SetP(min,max)

HCalorimeterHCal(0.35); //this has parametrization “0.35*sqrt(E)”

DeviceThetaD(kTheta,”sqrt(9.e-8+pow(9.e-4/P,2))/sqrt(sin(theta))”);

Device Tracking(kP,”0.001*P+0.001*P*P”);

ParticleIDIdent(“Pmatrixfile.dat”);

Ident.GetAcceptanceFromDevice(EMCal); //ParticleID is now declared like a device, and has its own acceptance. You can use arbitrarily many.

Detector Example;

Example = Example << EMCal << HCal << ThetaD << Tracking << Ident;

Example = Example << “NM JB DA”; //use all 3 event methods

some new features
Some New Features

Devious Arbitrary(“1./P”,”0.0085*P+0.0025*P*P”); //the Devious class allows you to smear a function of kinematics. This smears 1/p

Arbitrary.Accept.SetPt(0.,50.); //this cut requires p_{T}\in[0,50] GeV

Arbitrary.Accept.AddCustomAcceptance(“P*sin(theta)”,0.,50.); //equivalent to

the above

Arbitrary.Accept.AddParticle(321); //now this accepts K^+ ONLY

Arbitrary.Accept.AddParticle(-321); //now it accepts K^+ and K^- only

Tracker Track;

Track.SetRadii(0.01,3.); //this is a tracker with inner radius 1cm, outer radius 3m

Track.SetLength(6.); //and length 6m

Track.SetDimensions(0.01,2.,6.); //this is equivalent to the above two lines

Device CrazyExample(kE,”0.01*E”);

CrazyExample.SetDistribution("pow(sin([1]*x+[0]),2)"); //smears according to arbitrary distribution. [0] is original value of E and [1] is given by parametrization.

Example = Example << Arbitrary << Track;

Now with extensive documentation:

https://wiki.bnl.gov/eic/index.php/Namespace_Smear

slide17
x

STAR

20x100

slide18
Q2

STAR

20x100

why it s so screwed up
Why it’s so screwed up

STAR

20x100

Smearing goes as p2

what now
What Now?
  • Where does Smearing end and GEANT begin?
  • What can Smear be used for, what can it not be used for?
  • From now on, code will be maintained by Thomas Burton.
ad