BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrMultUtil


class description - source file - inheritance tree

class BrMultUtil


    protected:
virtual Double_t TryFindVertex(BrEventNode* node) public:
BrMultUtil BrMultUtil() BrMultUtil BrMultUtil(const TString& name) BrMultUtil BrMultUtil(BrMultUtil&) virtual void ~BrMultUtil() static TClass* Class() virtual Double_t FindVertex(BrEventNode* inNode, BrEventNode* outNode) virtual Double_t FindVertexAll(BrEventNode* inNode, BrEventNode* outNode, Double_t& vtxTPM1cluster, Double_t& vtxTPM1track, Double_t& vtxBB, Double_t& vtxZDC) virtual TClass* IsA() const virtual void SetSingleVertexLimit(Double_t z = 100) virtual void SetVertexAccLimit(Double_t z = 200) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
TString fName Double_t fVertexAccLimit Double_t fSingleVertexLimit Double_t fVtxTPM1cluster TPM1 cluster vertex Double_t fVtxTPM1track TPM1 track vertex Double_t fVtxBB BB vertex Double_t fVtxZDC ZDC vertex


See also

BrMultCentModule, BrMultRdoModule, BrMultSdeCentModule

Class Description

 Utility class for various multiplicity modules.  To enable multiple
 inheritance for these classes, this class _does_not_ inherit
 directly or indirectly from TObject.  This means that the derived
 classes has a declaration like for example:

   class BrMultRdoModule : public BrModule, public BrMultUtil

 Hence the methods of this class is avaliable to the derived
 classes, but without ending up in the inheritance ambiguity as
 outlined in the ANSI/ISO C++ Standard chapter 10.  This is the same
 technique that is utilised in the ROOT classes TAttLine, TAttFill,
 and so on, and thier derived classes TH1, TLine, and so on.


BrMultUtil()
 Default constructor. DO NOT USE

BrMultUtil(const TString& name) : fName(name)
 Named constructor.  The name should be the name of the detector
 e.g., MultTile

Double_t FindVertex(BrEventNode* inNode, BrEventNode* outNode)
 Try to find the current primary vertexs Z-coordinate in the
 inNode first, and failing that try to find it the output
 node. The method return FLT_MAX in case the coordinate could not
 be found.

Double_t TryFindVertex(BrEventNode* node)
 PRIVATE METHOD:
 Try to get a vertex from the input node.
 The best vertex is assumed to be that obtained from TPM1.  However,
 as per instructions given by the tpm1 analysis crew, several
 conditions are required before this vertex can be used:

   1:  The z variance must be less than 1
   2:  The z sigma must be less than 2 (sigma!=variance???)
   3:  The TPM1 vertex should be within 10 cm of the BB vertex

 If one or more of these conditions is not met, the BB vertex is
 assumed to be the next best, assuming it is within 150 cm of the
 nominal array center.
 Otherwise, the ZDC vertex is used if it falls within 100 cm of
 the array center.
 To allow for minium bias analysis, where the BB data may not be
 avaliable, a fianl option, in the face that everything else fails
 and the the ZDC vertex is indeed found, the ZDC vertex is used.

 All this should really be incorporated into a vertex analyser
 that will extract the best possible vertex from the avaliable
 information - it could be called BrBestVertexModule.


Double_t FindVertexAll( BrEventNode* inNode, BrEventNode* outNode, Double_t& vtxTPM1cluster, Double_t& vtxTPM1track, Double_t& vtxBB, Double_t& vtxZDC)
It sometimes becomes neccessary to check the individual vertex calculations
   for consistency.  This method returns the individual vertex values
   for TPM1cluster, TPM1track, BB, and ZDC as well as the selected vertex




Inline Functions


               void SetVertexAccLimit(Double_t z = 200)
               void SetSingleVertexLimit(Double_t z = 100)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
         BrMultUtil BrMultUtil(BrMultUtil&)
               void ~BrMultUtil()

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/06/19 19:17:37 $ by sanders $

Validate HTML
Validate CSS