TCAL Calibration Engine D. Kresan GSI, Darmstadt Purpose Give an - - PowerPoint PPT Presentation

tcal calibration engine
SMART_READER_LITE
LIVE PREVIEW

TCAL Calibration Engine D. Kresan GSI, Darmstadt Purpose Give an - - PowerPoint PPT Presentation

TCAL Calibration Engine D. Kresan GSI, Darmstadt Purpose Give an overview on how to use, showing simplified extracted code Followed by practical exercise with Ralf Plag on Mapped2Cal conversion 2nd R3BRoot Development Workshop March 7 - 9,


slide-1
SLIDE 1

TCAL Calibration Engine

  • D. Kresan

GSI, Darmstadt

slide-2
SLIDE 2

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Purpose

2

Give an overview on how to use, showing simplified extracted code Followed by practical exercise with Ralf Plag on Mapped2Cal conversion

slide-3
SLIDE 3

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Not to duplicate the code

Multiple detectors use the same algorithm for time calibration Create one implementation in a library, easy to use and reliable With extra functionality to allow “human-like”

  • perations on a binary ROOT file

3

slide-4
SLIDE 4

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Usage in calibration task: 2 Stages

  • I. Mapped2CalPar
  • II. Mapped2Cal

4

slide-5
SLIDE 5

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • I. Calculate parameters: Mapped2CalPar
  • 1. Create parameter container
  • 2. Fill TDC values
  • 3. Calculate calibration parameters

Init() Exec() // Event loop FinishTask()

5

slide-6
SLIDE 6

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • 1. Init()

fCal_Par = (R3BTCalPar*) FairRuntimeDb::instance()->getContainer( "LandTCalPar"); fCal_Par->setChanged(); fEngine = new R3BTCalEngine(fCal_Par, fMinStats); // Create parameter // container // Create TCAL engine

6

slide-7
SLIDE 7

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • 2. Exec()

// Loop over mapped data { fEngine->Fill(iPlane, iPaddle, iSide, hit->GetTacData()); } // Stores TDC value of current module

7

slide-8
SLIDE 8

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • 3. FinishTask()

fEngine->CalculateParamTacquila();

  • r

fEngine->CalculateParamVFTX(); // Calculate and store parameters, assuming Tacquila electronics // VFTX electronics

8

slide-9
SLIDE 9

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • II. Apply parameters: Mapped2Cal
  • 1. Read parameters
  • 2. Apply them for calculation of time [ns]

SetParContainers() Exec()

9

slide-10
SLIDE 10

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • 1. SetParContainers()

fCal_Par = (R3BTCalPar*) FairRuntimeDb::instance()->getContainer( "LandTCalPar"); // Get pointer to parameters

10

slide-11
SLIDE 11

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

  • 2. Exec()

// Loop over mapped data { R3BTCalModulePar* par = fCal_Par->GetModuleParAt(iPlane, iPaddle, iSide); Double_t time = par->GetTimeVFTX(tdc); } // Get parameters for the current module // Get time for the TDC channel

11

slide-12
SLIDE 12

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Insight

12

slide-13
SLIDE 13

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Open the ROOT file with parameters Create new instance of TBrowser and navigate to the file Right-click on the object (name which was used in getContainer(“...”)) for context menu

13

slide-14
SLIDE 14

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Available functions

printParams PrintModuleParams … plane, paddle, side DrawModuleParams … plane, paddle, side // Dump values for all modules // Dump values for a specific module // Display values graphically on a canvas

14

slide-15
SLIDE 15

2nd R3BRoot Development Workshop March 7 - 9, 2017 D.Kresan TCAL Calibration Engine

Advanced

One can manually change value for a specific module in some (range of) channel(s) Instructions here: Restricted document “Manually edit ROOT time calibration parameters” on the r3broot website

15