|
BrC1PidModuleclass description - source file - inheritance tree class BrC1PidModule : public BrModuleprotected: Data Membersprivate: Class DescriptionC1 pid module - makes particle identification from C1 data. Finds Ffs track table and C1Rdo object in inNode. Matches tracks and hits in the sensitive plane of C1 and returns (called C1Pid) data table with BrC1Pid objects to the outNode. The track is pointed to the backplane of C1. The blob (of cherenkov light) has an overlap with a number of photo tubes (0<n<10). The calibrated adc signal from these tubes are added - this is called the blob energy. If two blobs (corresponding to two tracks) have overlapping tubes they should be separated - this method is not implemented yet. BrC1PidModule() Default constructor. DO NOT USE BrC1PidModule(const Char_t* name, const Char_t* title) : BrModule(name, title) Named Constructor void DefineHistograms() Define histograms. They are: void Init() Job-level initialisation void Begin() Run-level initialisation void Event(BrEventNode* inNode, BrEventNode* outNode) Requires: ChkvRdo C1 and FfsTracks objects in inNode or outNode Generates: BrDataTable with BrC1Pid objects void FindTubesHitByBlob(BrChkvRdo* allHits, const BrVector3D& xy, Float_t r, BLOB& blob) Bool_t IsTubeHitByBlob(Int_t tubeNo, const BrVector3D& xy, Float_t r) finds the blob circle (center = (cX,cY), radius = fBlobRadius) and the tube square of tube with tubeNo. Is there and overlap? returns kTRUE is yes, kFALSE if no. Bool_t Overlap(BLOB& blob1, BLOB& blob2) check if there are overlapping tubes in the two arrays. Int_t SeparateBlobs(BLOB& blob1, BLOB& blob2) For now this method always returns -1!!!!! Float_t EstimateBlobRadius(Float_t p, Float_t beta) Estimate the blob radius from the momentum (asume pion) r = L * tan(theta) void CheckGeometry(BrChkvRdo* allHits, const BrVector3D& xy) fills "dist to hit" histogram - used for geometry alignment void EstimateBackground(BrChkvRdo* allHits, BLOB& blob) find n tubes that are not in blobHits n = number of hits in blobHits sum the adc's void Snapshot(BrChkvRdo* allHits, const BrVector3D& xy, Float_t p=99) PointToC1BackPlane(BrDetectorTrack* t2track) Returns the position (in local C1 coordinates) of the t2 track intersection with C1 backplane. If outside backplane returns -999,-999,-999 CreatePid(Float_t e, Float_t cl, Int_t trackId) void End() Run-level finalisation void Finish() Job-level finalisation void Print(Option_t* option) const Print module information See BrModule::Print for options. In addition this module defines the Option: <fill in here> Inline Functionsvoid SetBackPlaneOffset(Float_t x = -0.307, Float_t y = -0.645) void SetBlobRadius(Float_t r = 3.94) void SetRefractiveIndex(Float_t n = 1.00138) void SetUseH1Beta(Bool_t b = kTRUE) void SetBetaCut(Float_t b = 0.98) void SetMaxNSnapshots(Int_t n = 0) void SetCheckGeometry(Bool_t b = kFALSE) void SetEstimateBackground(Bool_t b = kFALSE) TClass* Class() TClass* IsA() const void ShowMembers(TMemberInspector& insp, char* parent) void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) BrC1PidModule BrC1PidModule(BrC1PidModule&) void ~BrC1PidModule() |
||||||
This page automatically generated by script docBrat by Christian Holm |
Copyright ; 2002 BRAHMS Collaboration
<brahmlib@rcf.rhic.bnl.gov>
|