8
03/13/2003 Proton ID 1 A Object Oriented Code for FPD Trigger Studies Wagner de Paula Carvalho Universidade do Estado do Rio de Janeiro (UERJ) Proton ID 03/13/2003

A Object Oriented Code for FPD Trigger Studies

Embed Size (px)

DESCRIPTION

Proton ID 03/13/2003. A Object Oriented Code for FPD Trigger Studies. Wagner de Paula Carvalho Universidade do Estado do Rio de Janeiro (UERJ). MI Rejection Studies - W. Carvalho. Overview.  Create a FPD_Hits class to hold all trigger information - PowerPoint PPT Presentation

Citation preview

Page 1: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 1

A Object Oriented Code for FPD Trigger Studies

Wagner de Paula CarvalhoUniversidade do Estado do Rio de Janeiro (UERJ)

Proton ID 03/13/2003

Page 2: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 2

MI Rejection Studies - W. Carvalho

Create a FPD_Hits class to hold all trigger information

FPD_Hits inherits from FPD_Particle:

class FPD_Hits : public FPD_Particle {...}

This allows us to easily use the FPD tracking program (by Barreto, Oguri & Carley) to study the trigger patterns and generate new sets of trigger equations

Overview

Page 3: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 3

MI Rejection Studies - W. Carvalho

A FPD_Particle object propagates across the Tevatron lattice and has the following member variables:

FPD_Vector vec : x,y,z - spatial coordinates

xs,ys - slopes of momentum in xz and yz planes

zs =

int charge

double mass

double beam momentum

FPD_Particle Review

Page 4: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 4

MI Rejection Studies - W. Carvalho

Member variables:

string arm_flag[4] : array to hold the name (UP,DOWN,IN,OUT) of the hit

arm for each FPD station

FPD_Vector initial_particle_vector : save initial state FPD_Vector

FPD_Vector potn_particle_vector : save FPD_Vectors at FPD station n

int potn_hits[6] : array to hold fiber hits map (U,U’,X,X’,V,V’) at station n

int potn_hits[3] : array to hold segment hits map (U,X,V) at station n

n = 1 A1,P1 ; n = 2 A2,P2 ; n = 3 D1 ; n = 4 D2 ;

FPD_Hits

Page 5: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 5

MI Rejection Studies - W. Carvalho

Member functions (methods):

FPD_Hits uses methods from:

FPD_Particle : as it inherits from this class, a FPD_Hits propagates

as a FPD_Particle ;

FPDdetector class from Mike Martens with a few modifications (for the sake of uniformity) ;

Some code of myself .

FPD_Hits

Page 6: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 6

MI Rejection Studies - W. Carvalho

A few modifications were made to FPD_Particle’s method Propagate, to remove hard-wired values of beam widths and pots positioning ;

They were moved to the header file BeamPotsParameters.hpp ;

Detector related methods like: accelerator detector coordinate transformation, position fiber hits and fiber hits segment hits, were kept in a separate header, FPD_Detector.hpp ;

A few more FPD_Hits features

Page 7: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 7

MI Rejection Studies - W. Carvalho

To test the code I’m using the trigger equations tabulated by Mike Martens (see http://waldo.fnal.gov/~martens/cvs/fnal/fpd/equations/). There are 3 equation flavors: PU, PI and DI. The other spectrometers’ equations (PD,PO,AU,AD,AI,AO) are equal to some of these;

PU equations have been more exhaustively used to test the program. Apparently, all original equations keep passing when beam energy is set to 1000GeV/c, as used by Martens. Need to perform more “calibration” tests, including for pbeam = 980GeV/c, as some recent changes to the code have to be certified;

Only a few tests were made on PI and DI equations;

No numbers included due to very recent modifications that I do not trust yet!!.

Testing the code

Page 8: A Object Oriented Code for FPD  Trigger Studies

03/13/2003 Proton ID 8

MI Rejection Studies - W. Carvalho

Finish, certify and freeze this code. One possible major modification is change FPD_Particle::Propagate to automatically fill FPD_Hits variables as the particle propagates;

Start playing with different pot positions and compare with original equations;

Set pots positions to their current operational values and generate new sets of equations. I’ll start by DI spectrometer, in order to be able to implement the equations into the firmware;

Modify code to take plane by plane geometry/alignment into account.

Plans for the future