void DBtxt_AlgTrackSRList_NearBeam(void)
{

  
  AlgFactory &af = AlgFactory::GetInstance();
  AlgHandle alh = af.GetAlgHandle("AlgTrackSRList","NearBeam");
  AlgConfig &alg = alh.GetAlgConfig(); 

  cout << "Track Parameters Set to Near Beam" << endl;

  alg.UnLockValues();
  alg.UnLockKeys();

  alg.Set("TrackAlgConfig","Beam");
  alg.Set("IsCosmic",0);

  alg.Set("TrkNPlaneGoodDir",30);  // used only in cosmic mode to determine whether vtx/end determination robust
  alg.Set("Trk2DNSkip",3); // can skip this many active planes except if in coil region
  alg.Set("Trk2DNSkipHit",4); // can skip this many hit planes
  alg.Set("Trk2DNSkipRemove",1); // can try removing this many already found clusters at track end 
  alg.Set("Trk2DSubsetNHit",8);  // used in RemoveTrackSubsets; smaller track removed if non-matching subset shorter than this or..
  alg.Set("Trk2DSubsetDHit",3); // used in RemoveTrackSubsets; smaller track removed if shorter than longer track by this 
  alg.Set("Trk2DEndPlaneDiff",10);// used in CheckforBadClusters - once last track hit further than this from SliceEndPlane, all skipped clusters are removed 
  alg.Set("DiffViewBegPlaneMatch",4); // in constructing 3D track from 2D, max # missing active planes at track beg.
  alg.Set("DiffViewEndPlaneMatch",4); // in constructing 3D track from 2D, max # missing active planes at track end.
  alg.Set("DiffViewPlaneOverlap",0.5); // in constucting 3D track, min fraction of planes overlapping in Z in two views.
  alg.Set("Track2DSlopeWeight",-0.25);  // used to weight previous and next intercluster track slope in obtaining track slope at a a given cluster pair, (in Track2DSR) 
  alg.Set("Trk3DTwinFrac",0.10); // maximum fraction of shared hits in two 3D tracks
  alg.Set("MinStripPulseHeight",1.0); // minimum strip pulse height (pe)
  alg.Set("MinClusterPulseHeight",1.0); // minimum cluster pulse height (pe)
  alg.Set("UseWideClusters",1); // determines whether missed wide track clusters are picked up post tracking
  alg.Set("Trk3DTrackMax",0); // maximum number of output tracks, tracks weighted by strip multiplicity if set to zero, max # of tracks from hough transform
  alg.Set("MaxTimingResid",20); //maximum residual allowed for direction determination in ns
  alg.Set("Trk2DMaxResid",8.0*Munits::cm); // max residual allowed in adding clusters to tracks in FillInGaps 
  alg.Set("MisalignmentError",0); //misalignment for TPos of strips in mm
  alg.Set("Trk2DHitFraction",0.1); // in IdentifyBadTracks, if plane hit fraction less than this and large gap at track end, remove last hit
  alg.Set("Trk2DDirCosError",0.5); // nominal error in 2D dir cosine used in MergeTracks to determine if tracks should be combined
  alg.Set("Trk2DPlnEnd",30); // in FillTrackList, a cluster must be separated by at least this many planes from previous seed position to qualify as track seed  
  alg.Set("Trk2DWin0",2.); // to qualify as new seed, cluster must have TPos differing by more that Win0*dZ from previous seed  
  alg.Set("MaxNStrip",5);   // absolute max number of strips in a track cluster
  alg.Set("MaxNExtraStrip",2);   // number of extra strips allowed in cluster in addition to expectations based on track slope
  alg.Set("HitNTime",-40.*Munits::ns);   // minimum early time allowed for cluster to be added to track
  alg.Set("HitTime",50.*Munits::ns); // max late time allowed for cluster to be added to track
  alg.Set("MinSingleHit",0); // # of planes required in track before non single hits are used (see below) 
  alg.Set("SingleHitDef",3);  // max cluster size at start of track formation
  alg.Set("Trk2DAlpha",0.8); // weighting factor on previous slope in calculating new slope
  alg.Set("Trk2DLinA0",8.*Munits::cm); // constant term in maxresid for short tracks
  alg.Set("Trk2DLinB0",.5); // factor in maxresid multiplying dZ for short tracks
  alg.Set("Trk2DLinA",8.*Munits::cm); // constant term in maxresid for long tracks (in MergeTracks)
  alg.Set("Trk2DLinB",0.); // factor in maxresid multiplying dZ for long tracks (in MergeTracks)
  alg.Set("Trk2DDirCosNSig",3.); // number of sigma allowed in direction cosine when adding cluster
  alg.Set("Trk2DNSigmaA",3.); // # sigma to multiple MSC, bfield curvature, etc, to give maxresid
  alg.Set("Trk2DTwinMatchFraction",0.50); // max fraction of duplicated clusters allowed in 2D tracks
  alg.Set("Trk2DNSeed",3); // min 2D track length
  alg.Set("Trk2DNContiguous",2);  // min track length before missing hits are allowed
  alg.Set("DiffViewTimeMatch",100.*Munits::ns); // 2d track time match requirement to form 3d track
  alg.Set("TrkClsNSkip",0); // gap size allowed in cluster 
  alg.Set("Trk2DNHough0",4); // track length below which LinA0, B0 are used (see above), and min hough peak size
  alg.Set("Trk2DNHough",3);  // determines number of track points used in the linear fit to extrapolate to next plane
  alg.Set("UseShowerLikePlanes",1);  // allow clusters defined as shower-like as potential track cluster
  alg.Set("ExtrapError",10*Munits::cm); // defines uncertainty in extrapolation, tpos, when multiplied by dZ  
  alg.Set("EnableSpectFind",1);

  alg.LockValues();
  alg.LockKeys();
  
}


