BrTPMClusterVertexModule
class description - source file - inheritance tree
private:
void ClustersToHits(BrDataTable* tpm1clusters)
void CombineHits(TObjArray& hits, TH1F* histogram, TH1F* histogram_y)
Float_t FindVariance(TH1* hist, Float_t mean, Float_t sigma)
void FindVertex(BrDataTable* tpm1clusters, BrVertex* vtxdata)
Float_t GetMaxPoint(TH1* hist)
TH1* RemoveLinearBackground(TH1* hist)
void SetDefaultParameters()
public:
BrTPMClusterVertexModule BrTPMClusterVertexModule()
BrTPMClusterVertexModule BrTPMClusterVertexModule(Char_t* Name, Char_t* Title)
BrTPMClusterVertexModule BrTPMClusterVertexModule(BrTPMClusterVertexModule&)
virtual void ~BrTPMClusterVertexModule()
static TClass* Class()
virtual void DefineHistograms()
virtual void Event(BrEventNode* InputNode, BrEventNode* OutputNode)
Int_t GetDrawHistogram()
Int_t GetNHistBins()
Int_t GetVertex_found()
Int_t GetVertexMaxNoPoints()
Int_t GetVertexMinNoPoints()
Int_t GetVertexNoSlices()
Float_t GetYFitRange()
Float_t GetYZoomInterval()
Float_t GetZFitRange()
Float_t GetZZoomInterval()
virtual void Init()
virtual TClass* IsA() const
void ListVertexParameters()
void SetDrawHistogram(Int_t value)
void SetHistbinsDivisonFactor(Int_t value)
void SetNHistBins(Int_t value)
void SetRemoveBackgroundsOff()
void SetRemoveBackgroundsOn()
void SetUseHistoZoomY(Int_t value)
void SetUseHistoZoomZ(Int_t value)
void SetVertexMaxNoPoints(Int_t value)
void SetVertexMinNoPoints(Int_t value)
void SetVertexNoSlices(Int_t value)
void SetYFitRange(Float_t value)
void SetYZoomInterval(Float_t value)
void SetZFitRange(Float_t value)
void SetZZoomInterval(Float_t value)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
BrDetectorVolume* fFrontVolume Volume Descriptor for Front Tracking Chamber
BrDetectorParamsTPC* fParams_p
Int_t fVertex_found Set to 1 when vertex is determined
Int_t fNoSlices Number of "slices" to cut TPM1 in
Int_t fMaxNoHits Max number of hits to compute
Int_t fMinNoHits Min number of hits before giving up
Int_t fNHistBins Number of bins in determining histogram
Int_t fDraw_Histogram Set to kTRUE to draw determining histogram
Int_t fUseHistoZoomZ zoom z-histogram?
Int_t fUseHistoZoomY zoom y-histogram?
Bool_t kRemoveBackgrounds
TObjArray* fAllHits
TObjArray* fHitSlice
Float_t fZpos_RMS
Float_t fYpos_RMS
Float_t fYZoomInterval
Float_t fZZoomInterval
Int_t fHistbinsDivisionFactor
TH1F* hVertex_z
TH1F* hVertex_sigma
TH1F* zpos
TH1F* ypos
TH1F* zpos_orig
TH1F* ypos_orig
BrTPMClusterVertexModule
Vertexing module for the MRS, using only clusters from MTPC1
May 2000
bjornhs
Requires: a minimum number of clusters in MTPC1
This vertexing-method assumes x=0, then combines all pairs of clusters
in TPM1 and checks where the line between them intersects the yz-plane.
The intersections are histogrammed, and the y,z-coord is estmated by
zooming in on and gauss-fitting this histogram
Usage:
1) Do BrTPMClusterVertexModule* vertex = new BrTPMClusterVertexModule("TPM1","VertexFinder");
2) vertex->Event(inputnode,outputnode) puts a BrVertex-object
(BrDataObject) with name TPM1 ClusterVtxData in outputnode.
BrTPMClusterVertexModule():BrModule()
// Default Constructor.
BrTPMClusterVertexModule(Text_t *Name,Char_t *Title)
:BrModule(Name,Title)
Use this creator
void SetDefaultParameters()
Set/Reset internal vertexing parameters to default values.
~BrTPMClusterVertexModule() //Destructor
if(fFrontVolume) delete fFrontVolume;
void DefineHistograms()
define diagnostics histograms
Book histograms (called from BrModule::Book)
void Init()
Get Parameters from databases (geometry and parameters)
Run this before event!
void Event(BrEventNode* InputNode, BrEventNode* OutputNode)
Take clusters from TPM1, find primary vertex
void FindVertex(BrDataTable* tpm1clusters, BrVertex* vtxdata)
This does the work - called by Event()
void ListVertexParameters()
List cut values used in vertexing.
Float_t GetMaxPoint(TH1 *hist)
Returns the point where hist has its maximum
Float_t FindVariance(TH1 *hist, Float_t mean, Float_t sigma)
TH1* RemoveLinearBackground(TH1 *hist)
Removes a linear background from hist
void ClustersToHits(BrDataTable* tpm1clusters)
Converts the middle position of BrDetectorHits (clusters) in tpm1clusters to
BrVector3D's in allhits
void CombineHits(TObjArray& hits, TH1F* histogram_z, TH1F* histogram_y)
Combines two and two clusters, projects the line between them back to x=0
(global), and increments the histogram histogram_z
Inline Functions
Int_t GetVertex_found()
void SetVertexMaxNoPoints(Int_t value)
void SetVertexMinNoPoints(Int_t value)
void SetVertexNoSlices(Int_t value)
void SetDrawHistogram(Int_t value)
void SetNHistBins(Int_t value)
void SetUseHistoZoomY(Int_t value)
void SetUseHistoZoomZ(Int_t value)
Int_t GetVertexMaxNoPoints()
Int_t GetVertexMinNoPoints()
Int_t GetVertexNoSlices()
Int_t GetDrawHistogram()
Int_t GetNHistBins()
void SetRemoveBackgroundsOn()
void SetRemoveBackgroundsOff()
Float_t GetYZoomInterval()
Float_t GetZZoomInterval()
void SetYZoomInterval(Float_t value)
void SetZZoomInterval(Float_t value)
void SetZFitRange(Float_t value)
Float_t GetZFitRange()
void SetYFitRange(Float_t value)
Float_t GetYFitRange()
void SetHistbinsDivisonFactor(Int_t value)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
BrTPMClusterVertexModule BrTPMClusterVertexModule(BrTPMClusterVertexModule&)
|