Hall C ROOT/C++ Analyzer (hcana)
THcHallCSpectrometer Class Reference

A standard Hall C spectrometer apparatus.

The usual name of this object is either "H", "P", "S" for HMS, suPerHMS, or SOS respectively

Defines the functions FindVertices() and TrackCalc(), which are common to the HMS, SHMS and SOS.

FindVertices() transports all the tracks in focal plane transport coordinates to the target using the method CalculateTargetQuantities() which uses the standard optics polynomials. The tracks are then rotated to the LAB coordinate system where +Z points to beam dump, +Y is up, and +X is beam left. The Golden track is then selected using one of the methods BestTrackSimple(), BestTrackUsingPrune(), BestTrackUsingScin(), depending on parameter settings.

Author
S. A. Wood

Definition at line 36 of file THcHallCSpectrometer.h.

Classes

struct  reconTerm
 

Public Member Functions

virtual void AddEvtType (int evtype)
 
virtual Int_t BestTrackSimple ()
 Choose best track based on Chisq. More...
 
virtual Int_t BestTrackUsingPrune ()
 Choose best track after pruning. More...
 
virtual Int_t BestTrackUsingScin ()
 Choose best track using closeness to scintillator hits. More...
 
virtual void CalculateTargetQuantities (THaTrack *track, Double_t &gbeam_y, Double_t &xptar, Double_t &ytar, Double_t &yptar, Double_t &delta)
 Transport focal plane track to target. More...
 
virtual Int_t Decode (const THaEvData &)
 
virtual Int_t DefineVariables (EMode mode=kDefine)
 
virtual void EnforcePruneLimits ()
 Enforce minimum values for the prune cuts. More...
 
virtual Int_t FindVertices (TClonesArray &tracks)
 Reconstruct target coordinates. More...
 
Double_t GetBetaAtPcentral () const
 
virtual Int_t GetNumTypes ()
 
Double_t GetParticleMass () const
 
Bool_t GetTrSorting () const
 
Bool_t InsideDipoleExitWindow (Double_t x_fp, Double_t xp_fp, Double_t y_fp, Double_t yp_fp)
 
virtual Bool_t IsMyEvent (Int_t evtype) const
 
virtual Bool_t IsPresent ()
 
virtual Int_t ReadDatabase (const TDatime &date)
 Loads parameters to characterize a Hall C spectrometer. More...
 
virtual Int_t ReadRunDatabase (const TDatime &date)
 
virtual void SetEvtType (int evtype)
 
Bool_t SetTrSorting (Bool_t set=kFALSE)
 
 THcHallCSpectrometer (const char *name, const char *description)
 
virtual Int_t TrackCalc ()
 
virtual Int_t TrackTimes (TClonesArray *tracks)
 
virtual ~THcHallCSpectrometer ()
 

Protected Member Functions

Bool_t HMSDipoleExitWindow (Double_t x_dip, Double_t y_dip)
 
void InitializeReconstruction ()
 
Bool_t SHMSDipoleExitWindow (Double_t x_dip, Double_t y_dip)
 

Protected Attributes

std::vector< Int_teventtypes
 
Double_t fAngOffset_x
 
Double_t fAngOffset_y
 
Double_t fAngSlope_x
 
Double_t fAngSlope_y
 
THcDCfDC
 
Double_t fDeltaOffset
 
Double_t fDetOffset_x
 
Double_t fDetOffset_y
 
Int_t fGoodTrack
 
THcHodoscopefHodo
 
Double_t fHodoCenter3
 
Double_t fHodoCenter4
 
Double_t fMispointing_x
 
Double_t fMispointing_y
 
Int_t fNPlanes
 
Int_t fNReconTerms
 
Int_t fNtracks
 
Double_t fOopCentralOffset
 
Double_t fPartMass
 
Double_t fPCentralOffset
 
Double_t fPhi_lab
 
Double_t fPhiOffset
 
Bool_t fPresent
 
Double_t fPruneBeta
 
Double_t fPruneChiBeta
 
Double_t fPruneDelta
 
Double_t fPruneDf
 
Double_t fPruneDipoleExit
 
Double_t fPruneFpTime
 
Double_t fPruneNPMT
 
Double_t fPruneSelect
 
Double_t fPruneXp
 
Double_t fPruneYp
 
Double_t fPruneYtar
 
std::vector< reconTermfReconTerms
 
Double_t fSatCorr
 
Double_t fScin2XdZpos
 
Double_t fScin2XSpacing
 
Double_t fScin2XZpos
 
Double_t fScin2YdZpos
 
Double_t fScin2YSpacing
 
Double_t fScin2YZpos
 
Double_t fSelBetaMax
 
Double_t fSelBetaMin
 
Double_t fSeldEdX1Max
 
Double_t fSeldEdX1Min
 
Double_t fSelEtMax
 
Double_t fSelEtMin
 
Double_t fSelNDegreesMin
 
Int_t fSelUsingPrune
 
Int_t fSelUsingScin
 
Double_t fTheta_lab
 
Double_t fThetaCentralOffset
 
Double_t fThetaOffset
 
Bool_t fUseHMSDipoleExitWindow
 
Bool_t fUseSHMSDipoleExitWindow
 
Double_t fZTrueFocus
 

Static Protected Attributes

static const UInt_t kSortTracks = BIT(16)
 

#include <THcHallCSpectrometer.h>

Inheritance diagram for THcHallCSpectrometer:

Constructor & Destructor Documentation

THcHallCSpectrometer::THcHallCSpectrometer ( const char *  name,
const char *  description 
)

Definition at line 110 of file THcHallCSpectrometer.cxx.

THcHallCSpectrometer::~THcHallCSpectrometer ( )
virtual

Definition at line 123 of file THcHallCSpectrometer.cxx.

Member Function Documentation

void THcHallCSpectrometer::AddEvtType ( int  evtype)
virtual

Definition at line 1099 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::BestTrackSimple ( )
virtual

Choose best track based on Chisq.

Choose the track with the lowest tracking fitting Chisq to be the "best track"

Definition at line 599 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::BestTrackUsingPrune ( )
virtual

Choose best track after pruning.

Select as best track the track with the lowest Chisq after pruning tracks that don't meet various criteria such as xptar, yptar, ytar delta, beta, degrees of freedom (of track fit), difference between measured beta and beta from p, chisq of beta fit, focal plane time and number of PMT hit.

Prune on num pmt hits

Definition at line 776 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::BestTrackUsingScin ( )
virtual

Choose best track using closeness to scintillator hits.

Select as best track the track closest to a S2Y hit. If there are no S2Y hits, select the track closest to a S2X hit.

Also reject tracks if they fail dEdx, beta, or calorimeter energy cuts.

Definition at line 619 of file THcHallCSpectrometer.cxx.

void THcHallCSpectrometer::CalculateTargetQuantities ( THaTrack *  track,
Double_t gbeam_y,
Double_t xptar,
Double_t ytar,
Double_t yptar,
Double_t delta 
)
virtual

Transport focal plane track to target.

Transport a track in the the focal plane coordinate system to the target using the reconstruction matrix elements.

If Xsatcorr is 2000, apply a specific correction to delta for saturation effects.

Definition at line 519 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::Decode ( const THaEvData evdata)
virtual

Definition at line 1076 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::DefineVariables ( EMode  mode = kDefine)
virtual

Definition at line 131 of file THcHallCSpectrometer.cxx.

void THcHallCSpectrometer::EnforcePruneLimits ( )
virtual

Enforce minimum values for the prune cuts.

Definition at line 453 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::FindVertices ( TClonesArray tracks)
virtual

Reconstruct target coordinates.

Reconstruct target coordinates for all tracks found in the focal plane.

In Hall A, this is passed off to the tracking detectors.

In Hall C, we do the target traceback here since the traceback should not depend on which tracking detectors are used.

Select the best track.

Definition at line 468 of file THcHallCSpectrometer.cxx.

Double_t THcHallCSpectrometer::GetBetaAtPcentral ( ) const
inline

Definition at line 62 of file THcHallCSpectrometer.h.

virtual Int_t THcHallCSpectrometer::GetNumTypes ( )
inlinevirtual

Definition at line 68 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::GetParticleMass ( ) const
inline

Definition at line 61 of file THcHallCSpectrometer.h.

Bool_t THcHallCSpectrometer::GetTrSorting ( ) const

Definition at line 165 of file THcHallCSpectrometer.cxx.

Bool_t THcHallCSpectrometer::HMSDipoleExitWindow ( Double_t  x_dip,
Double_t  y_dip 
)
protected

Definition at line 1147 of file THcHallCSpectrometer.cxx.

void THcHallCSpectrometer::InitializeReconstruction ( )
protected

Definition at line 171 of file THcHallCSpectrometer.cxx.

Bool_t THcHallCSpectrometer::InsideDipoleExitWindow ( Double_t  x_fp,
Double_t  xp_fp,
Double_t  y_fp,
Double_t  yp_fp 
)

Definition at line 1117 of file THcHallCSpectrometer.cxx.

Bool_t THcHallCSpectrometer::IsMyEvent ( Int_t  evtype) const
virtual

Definition at line 1108 of file THcHallCSpectrometer.cxx.

virtual Bool_t THcHallCSpectrometer::IsPresent ( )
inlinevirtual

Definition at line 69 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::ReadDatabase ( const TDatime date)
virtual

Loads parameters to characterize a Hall C spectrometer.

Loads parameters including the angle settings of the spectrometer, various offsets, and the name of the file containing the hut to target transformation polynomials. Also loads parameters to control best track selection.

Reads the hut to target transformation polynomial coefficients for use by CalculateTargetQuantities().

Calls SetCentralAngles(th_geo,ph_geo,bend_down) where bend_down is a flag that should equal kFALSE for Hall C spectrometers. th_geo and ph_geo are in degrees.

Definition at line 184 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::ReadRunDatabase ( const TDatime date)
virtual

Definition at line 1091 of file THcHallCSpectrometer.cxx.

void THcHallCSpectrometer::SetEvtType ( int  evtype)
virtual

Definition at line 1103 of file THcHallCSpectrometer.cxx.

Bool_t THcHallCSpectrometer::SetTrSorting ( Bool_t  set = kFALSE)

Definition at line 154 of file THcHallCSpectrometer.cxx.

Bool_t THcHallCSpectrometer::SHMSDipoleExitWindow ( Double_t  x_dip,
Double_t  y_dip 
)
protected

Definition at line 1129 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::TrackCalc ( )
virtual

Definition at line 575 of file THcHallCSpectrometer.cxx.

Int_t THcHallCSpectrometer::TrackTimes ( TClonesArray tracks)
virtual

Definition at line 1065 of file THcHallCSpectrometer.cxx.

Member Data Documentation

std::vector<Int_t> THcHallCSpectrometer::eventtypes
protected

Definition at line 162 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fAngOffset_x
protected

Definition at line 141 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fAngOffset_y
protected

Definition at line 142 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fAngSlope_x
protected

Definition at line 139 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fAngSlope_y
protected

Definition at line 140 of file THcHallCSpectrometer.h.

THcDC* THcHallCSpectrometer::fDC
protected

Definition at line 121 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fDeltaOffset
protected

Definition at line 148 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fDetOffset_x
protected

Definition at line 143 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fDetOffset_y
protected

Definition at line 144 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fGoodTrack
protected

Definition at line 97 of file THcHallCSpectrometer.h.

THcHodoscope* THcHallCSpectrometer::fHodo
protected

Definition at line 120 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fHodoCenter3
protected

Definition at line 115 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fHodoCenter4
protected

Definition at line 115 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fMispointing_x
protected

Definition at line 154 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fMispointing_y
protected

Definition at line 155 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fNPlanes
protected

Definition at line 100 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fNReconTerms
protected

Definition at line 123 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fNtracks
protected

Definition at line 101 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fOopCentralOffset
protected

Definition at line 150 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPartMass
protected

Definition at line 84 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPCentralOffset
protected

Definition at line 151 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPhi_lab
protected

Definition at line 153 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPhiOffset
protected

Definition at line 147 of file THcHallCSpectrometer.h.

Bool_t THcHallCSpectrometer::fPresent
protected

Definition at line 163 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneBeta
protected

Definition at line 89 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneChiBeta
protected

Definition at line 91 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneDelta
protected

Definition at line 88 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneDf
protected

Definition at line 90 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneDipoleExit
protected

Definition at line 83 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneFpTime
protected

Definition at line 92 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneNPMT
protected

Definition at line 93 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneSelect
protected

Definition at line 95 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneXp
protected

Definition at line 85 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneYp
protected

Definition at line 86 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fPruneYtar
protected

Definition at line 87 of file THcHallCSpectrometer.h.

std::vector<reconTerm> THcHallCSpectrometer::fReconTerms
protected

Definition at line 136 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSatCorr
protected

Definition at line 94 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2XdZpos
protected

Definition at line 111 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2XSpacing
protected

Definition at line 116 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2XZpos
protected

Definition at line 110 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2YdZpos
protected

Definition at line 113 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2YSpacing
protected

Definition at line 116 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fScin2YZpos
protected

Definition at line 112 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSelBetaMax
protected

Definition at line 107 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSelBetaMin
protected

Definition at line 106 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSeldEdX1Max
protected

Definition at line 105 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSeldEdX1Min
protected

Definition at line 104 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSelEtMax
protected

Definition at line 109 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSelEtMin
protected

Definition at line 108 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fSelNDegreesMin
protected

Definition at line 103 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fSelUsingPrune
protected

Definition at line 99 of file THcHallCSpectrometer.h.

Int_t THcHallCSpectrometer::fSelUsingScin
protected

Definition at line 98 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fTheta_lab
protected

Definition at line 152 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fThetaCentralOffset
protected

Definition at line 149 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fThetaOffset
protected

Definition at line 146 of file THcHallCSpectrometer.h.

Bool_t THcHallCSpectrometer::fUseHMSDipoleExitWindow
protected

Definition at line 79 of file THcHallCSpectrometer.h.

Bool_t THcHallCSpectrometer::fUseSHMSDipoleExitWindow
protected

Definition at line 78 of file THcHallCSpectrometer.h.

Double_t THcHallCSpectrometer::fZTrueFocus
protected

Definition at line 145 of file THcHallCSpectrometer.h.

const UInt_t THcHallCSpectrometer::kSortTracks = BIT(16)
staticprotected

Definition at line 160 of file THcHallCSpectrometer.h.

Collaboration diagram for THcHallCSpectrometer:

The documentation for this class was generated from the following files: