sπritroot - michigan state university · 2015-06-19 · big picture •fairsoft -all the necessary...

Post on 16-Mar-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SπRITROOTGenie Jhang, Yassid Ayyad and Jung Woo Lee

for the SπRIT collaboration 2015. 6. 5

Big picture

• FairSoft - All the necessary packages collected to run FairRoot

- Designed to be installed on both Linux and OS X

- Included packages:

✴ gtest, gsl, boost, Pythia6, Pythia8, HepMC, GEANT3, GEANT4, XRootD, Pluto, ROOT, VGM, VMC, Millepede, ZeroMQ, Protocol Buffers, nanomsg

- RAVE, CLHEP, and GENFIT2 packages added for SπRITROOT (customized version)

• FairRoot

- A framework containing base classes for running simulation, reconstruction and analysis

• SπRITROOT - A framework containing specific modules for SπRIT experiment on top of FairRoot

- Composed of task-based modules, TGeo geometry and steering macro

- SπRITROOT is written by following the structure of FOPIROOT1)

2

1) M. Ball et al., Technical Design Study for the PANDA Time Projection Chamber, http://arxiv.org/abs/1207.0013

Task-based Module

3

Task

In

Out

• ASCII • GRAW • ROOT • An object on memory (TClonesArray✴)

• ROOT • An object on memory (TClonesArray)

• Easy to turn on and off.

• Easy to debug and maintain.

✴ TClonesArray is a container class provided in ROOT which can be stored in ROOT file.

4

MC Generation

Digitization Reconstruction Analysis

Simulation data flow

Experimental Data

SπRITROOT

Experimental data flow

STConverter

Schematics of SπRITROOT

MC Generation• Detector geometry used in MC is written with TGeo classes in ROOT.

- https://github.com/SpiRIT-Collaboration/SPiRITROOT/blob/develop/SPiRIT/geometry/geomSPiRIT.C

• GEANT4 is used to generate MC data.

• Program runs with a ROOT simple macro.

5

OutputSTMCPoint

MC Generation

6

STMCPoint- position vector - energy loss - hit time

Energy loss

• In both cases GEANT4 result well matches to TRIM/LISE++ result.

• Maximum % difference of dE/dx - proton: 1.97 % , alpha: 1.16 %

7

Kinetic energy (MeV)0 50 100 150 200 250 300 350 400

dE/d

x (M

eV/m

m)

0

0.0005

0.001

0.0015

0.002

0.0025

0.003

0.0035

0.004

0.0045

0.005

proton (TRIM/LISE++)

RITROOT)πproton (S

Kinetic energy (MeV)0 50 100 150 200 250 300 350 400

dE/d

x (M

eV/m

m)

0

0.01

0.02

0.03

0.04

0.05

alpha (TRIM/LISE++)

RITROOT)πalpha (S

-310

-210

-110

Drift length (mm)0 50 100 150 200 250 300 350 400 450

Rad

ial d

iffus

ion

(mm

)

0

1

2

3

4

5

6 Sigma

Digitization

8

Drift Task Electronics TaskPad Response Task

STMCPoint

• Using the diffusion constants calculated with Garfield, calculate the drift time corresponding to the distance from ground wire to the hit point.

• Determine the nearest anode wire to apply the pad response function.

STDriftedElectron

e-

e-

Electric Field

Diffusion

Anode wire

Ground wire

Gating grid wire

Digitization

9

Drift Task Electronics TaskPad Response Task

STDriftedElectron

• Pad response function describes the induced charge by the avalanche electrons.The function is calculated using Gatti distribution.

P (�) =K1

K2pK3

harctan

pK3 tanh

⇣K2

⇣�+

w

2h

⌘⌘� arctan

pK3 tanh

⇣K2

⇣�� w

2h

⌘⌘i

STRawEvent

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

z (mm)20− 15− 10− 5− 0 5 10 15 20

x (m

m)

20−

15−

10−

5−

0

5

10

15

20

e-

pad response function

row (x) layer (z)

1)

1) NIM A270 (1998) 602

Time buckets140 160 180 200 220 240

ADC

cha

nnel

0

100

200

300

400

500

600

700

800

900

row #54, layer #36Electron signal

GET electronics signal

row #54, layer #36Simulation result

Digitization

10

Time buckets90 100 110 120 130 140 150

ADC

cha

nnel

0

500

1000

1500

2000

2500

3000 Electron signal

GET electronics signal

HIMAC pulser data

Drift Task Electronics TaskPad Response Task

STRawEvent STRawEvent

• Average pulse shape is obtained from HIMAC pulser data.

• Pulse height is set to be the same as the number of amplified electrons.

Digitization

11

Drift Task Electronics TaskPad Response Task

DigitizationSTRawEvent STRawEventSTDriftedElectronSTMCPoint

• Code

Experimental Data (Setup)

CoBo

CoBo

· ·

·

AGET

AGET

AGET

AGET

AsAd

AsAd

AsAd

AsAd

AsAd

AsAd

AsAd

AsAd

· ·

·

DAQ Servers

• 1 AsAd has 4 AGET chips. • An AGET chip handles 64 channels.

• To cover 108 x 112 = 12,096 pads, we use • 48 AsAd boards • 12 Cobos

• NARVAL is used for merging data from multiple CoBos.

SπRIT-TPC

12

Experimental Data (GRAW file, binary)

13

• Full readout mode • Zero-suppresion mode

One AsAd data

Multiple AsAds merged data

Only for additional information

STConverter

14

GETDecoder •Decodes GRAW file into a C++ object • Pedestal subtraction using the nearest FPN channels

STCore

•Using map data and frames from GETDecoder,create a STRawEvent object all channels mapped corresponding pad position.

STMap

STRawEvent

• Code

STConverter

15

origin

Layer (0 ~ 111)

Row (0 ~ 107)

• Coordinates convention (Top view)

Pad Coordinate

z (beam direction)

x (beam left)

Hit Coordinate

STConverter

16

• AsAd mapping 0 1 2 3

00

01

02

03

04

05

06

07

08

09

10

11

UA105

- Represented with 3 digit number. - 1st digit: Layer direction number

- 2nd and 3rd digits: Row direction number

Reconstruction

17

• Pulse shape analysis - Average pulse shape is obtained from HIMAC pulser data.

- For all cases, charge is recorded by the pulse height.

PSAMode 0

Time buckets0 100 200 300 400 500

ADC

cha

nnel

0

50

100

150

200

250

300

350

• Code

• Two simple methods for test - PSAMode 0 finds the highest pulse only in each pad

- PSAMode 1 searches all the peaks in each pad.

PSAMode 1

Time buckets0 100 200 300 400 500

ADC

cha

nnel

0

50

100

150

200

250

300

350

Reconstruction

18

• Pulse shape analysis - Average pulse shape is obtained from HIMAC pulser data.

- For all cases, charge is recorded by the pulse height.

PSAMode 2

Time buckets0 100 200 300 400 500

ADC

cha

nnel

0

50

100

150

200

250

300

350

• Code

• PSAMode2 - searches every peak in every pad

- collects (tb, ADC) points between 5 % to 95 % of each peak

- fits those points with least-square-fit to obtain hit time for each peak

- from the peak pad, it calculates center of charge with neighboring pads(This will be separated to Clustering Task later.)

Reconstruction

19

Found����������� ������������������  249����������� ������������������  tracklets����������� ������������������  out����������� ������������������  of����������� ������������������  80����������� ������������������  produced����������� ������������������  charged����������� ������������������  particles

• Riemann Tracking (preliminary)

Same-colored����������� ������������������  dots����������� ������������������  are����������� ������������������  recognized����������� ������������������  as����������� ������������������  one����������� ������������������  tracklet.

Summary

• FairROOT is well structured framework for an experiment.

• SπRITROOT is written on top of FairROOT.

• All the stages (MC generation, digitization and reconstruction) are working and need to be tuned.

Download link of this slide: http://goo.gl/VQNh1G

20

Appendix I Packages in FairSoft

Appendix II Pedestal Subtraction Method

24

25

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

500

1000

1500

2000

2500

3000

3500

AGET 0

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 1

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 2

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 3CoBo 0 - AsAd 0 - Frame 0 - Event 0

Ch 11 (FPN)

Ch 4 (normal)

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

500

1000

1500

2000

2500

3000

3500

AGET 0

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 1

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 2

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 3CoBo 0 - AsAd 0 - Frame 0 - Event 0

26

You can see here the mismatch of baselines.

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

500

1000

1500

2000

2500

3000

3500

AGET 0

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 1

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 2

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 3CoBo 0 - AsAd 0 - Frame 0 - Event 0

27

To match the baselines, calculate mean and RMS of 3 ~ 12 tbs.

Mean: 3791, RMS: 1.12

Mean: 3800, RMS: 2.32

If RMS of either channel is above 5, calculate mean and RMS of next 10 tbs until it finds suitable section. i.e. 13 ~ 22 tbs. 23 ~ 32 tbs, and so on.

9

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

500

1000

1500

2000

2500

3000

3500

AGET 0

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 1

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 2

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 3CoBo 0 - AsAd 0 - Frame 0 - Event 0

28

Subtract Ch 4 from Ch 11 - 9 for all tbs.baseline matching!

9

29

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 0

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 1

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 2

Time Bucket0 100 200 300 400 500

ADC

Cha

nnel

0

500

1000

1500

2000

2500

3000

3500

4000

AGET 3CoBo 0 - AsAd 0 - Frame 0 - Event 0

Final Result!(Sub-zero values after subtraction remain.)

30

top related