// FileName: reco_near_spill_data_base_dogwood0.C
// Created 7 Feb 2008

// Usage
// loon -bq add_to_path(<path>) reco_near_spill_data_base_dogwood0.C <data_file>

/////////////////////////////////////////////////////////
// Output:                                             //
// This file produces BeamNtp Information in each      //
//   output stream                                     //
// Output Files:                                       //
//  CandS.root - candidate output file                 //
//  ntupleStS.root - NtpSt ntuple output               //
//  ntupleMRNT.root - MRCC removed ntuple              //
/////////////////////////////////////////////////////////

#include "headers/aclic.h"
#include "headers/test_filename.h"

class JobC;

#include "headers/io/set_input_data.h"
#include "headers/io/attach_output_srsafitter.h"

#include "headers/near/near_create_path.h"
#include "headers/near/near_configure.h"
#include "headers/near/near_configure_shower.h"
#include "headers/near/near_configure_filter.h"
#include "headers/near/near_do_report.h"
#include "headers/near/near_set_calibrator.h"
#include "headers/near/near_set_msg_levels.h"

#include "headers/mrcc/mrcc_set_msg_levels.h"
#include "headers/srsafitter/srsafitter_set_msg_levels.h"

#include "headers/util/run.h"

#include "headers/attach_mrcc_path_near.h"

#include "headers/configure_ugli.h"
#include "headers/apply_spectrometer_fudge.h"

void reco_near_spill_data_base_dogwood0(int nSkip = 0, int nRun = 100000)
{
  test_filename('N');

  gROOT->Macro("macros/load_libs.C");

  RecJobRecord::SetGlobalProdName("Dogwood");

  JobC jc;

  JobCPath& near = near_create_path(jc);

  set_input_data(jc);

  near_configure(near);
  near_configure_shower(near, false);
  near_configure_filter(near);

  configure_ugli();

  near_set_calibrator(0);

  //SpectrometerFudge added April 23,2007
  //this should be removed after database entry is updated
  apply_spectrometer_fudge();

  near_do_report(near);

  attach_output_srsafitter(jc, near);

  attach_mrcc_path_near(jc, near, 1, "NearBeam", false, SimFlag::kData);

  BfldDbiPlaneMap::SetDefensiveUnpkg(true);

  near_set_msg_levels(jc);
  mrcc_set_msg_levels(jc);
  srsafitter_set_msg_levels(jc);

  run(jc, near, nSkip, nRun);
}
