BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrSiRdoModule


class description - source file - inheritance tree

class BrSiRdoModule : public BrMultRdoModule


    protected:
virtual Double_t CalibrateArrayMultiplicity() virtual void CalibrateIndividual(BrSiDig* dig, BrMultRdo* rdo) virtual Double_t CalibratePulser(Double_t calAdc) public:
BrSiRdoModule BrSiRdoModule() BrSiRdoModule BrSiRdoModule(const Char_t* name, const Char_t* title) BrSiRdoModule BrSiRdoModule(BrSiRdoModule&) virtual void ~BrSiRdoModule() static TClass* Class() virtual void Event(BrEventNode*, BrEventNode*) virtual void Init() virtual TClass* IsA() const virtual void Print(Option_t* option = "B") const virtual void SetSaturationChannel(Int_t channel = 2000) virtual void SetThresholdFactor(Float_t factor = 5) virtual void SetUsePathLengthCor(Bool_t use = kTRUE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Bool_t fUsePathLengthCor

Class Description

 Module to create reduce data objects form detector digits for the
 silicon strip detectors in the multiplicity array.

 The calculations is based on what Steve Sanders and Hiro Ito wrote
 in BAN26
 However, the centrality calculations are seperated out in a special
 module BrSiCentModule, as outline in BAN22


BrSiRdoModule (const Char_t *name, const Char_t *title) : BrMultRdoModule(name, title)
 Everyhting is done in BrMultRdoModule CTOR

void Init()

void Event(BrEventNode *inNode, BrEventNode *outNode)



void CalibrateIndividual(BrSiDig* dig, BrMultRdo* rdo)
 PRIVATE METHOD:
 Make the caibrated data for the individual detector elements
 i.e., each si.

 Please note, that the digit data is currently passed as a
 TObject, rather than a BrSiDig. This is so that we may read old
 files with BrDigSis objects in them. It will soon disappear.

Double_t CalibratePulser(Double_t calAdc)
 This function was modified for the year 2 runs by allowing for
 a zero offset of the pulser calibration.  This seems strange, but
 is found necessary to get a good fit for low pulser signals.

Year 1:
 Correct for the non-linearity of the silicon pulse shapers.
 This is done be applying the following piecewise (fork) function


         / f1(x) = a*x+bx^2                           for x < l1
         |
  f(x) = + f2(x) = f1(l1)+f1'(l1)*(x-l1) + c*(x-l1)^2 for x < l2
         |
          f3(x) = f2(l2)+f2'(l2)*(x-l2)              for x >= l2

 where a, b, c are calibration parameters.

Year 2:
 Correct for the non-linearity of the silicon pulse shapers.
 This is done be applying the following piecewise (fork) function


         / f1(x) = a + b*x+cx^2                       for x < l1
         |
  f(x) = + f2(x) = f1(l1)+f1'(l1)*(x-l1) + d*(x-l1)^2 for x < l2
         |
          f3(x) = f2(l2)+f2'(l2)*(x-l2)              for x >= l2

 where a, b, c,d  are calibration parameters.


Double_t CalibrateArrayMultiplicity()
 PRIVATE METHOD:
 Correct the sum multiplicity for the vertex position.
 This is based in on fits from GEANT, as far as I gather.

void Print(Option_t* option) const
 Module Information method

 Options: (see also BrModule::Print)




Inline Functions


        BrSiRdoModule BrSiRdoModule(const Char_t* name, const Char_t* title)
                 void SetUsePathLengthCor(Bool_t use = kTRUE)
                 void SetThresholdFactor(Float_t factor = 5)
                 void SetSaturationChannel(Int_t channel = 2000)
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
        BrSiRdoModule BrSiRdoModule(BrSiRdoModule&)
                 void ~BrSiRdoModule()

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/05/08 16:30:59 $ by cholm $

Validate HTML
Validate CSS