// FileName: reco_far_spill_data_base_dogwood0.C
// Created: 7 Nov 2008

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

/////////////////////////////////////////////////////////
// Output:                                             //
// This file produces BeamNtp Information in each      //
//   output stream                                     //
// Output Files:                                       //
//  CandS.root - candidate output file (open)          //
//  ntupleStS.root - NtpSt ntuple output  (open)       //
//                                                     //
//  CandSBlind.root - candidate output file (closed)   //
//  ntupleStSBlind.root - NtpSt ntuple output  (closed)//
//  ntupleMRNTBlind.root - muon removed ntuple (closed)//
/////////////////////////////////////////////////////////

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

class JobC;

#include "headers/configure_ugli.h"

#include "headers/util/run.h"

#include "headers/io/set_input_data.h"
#include "headers/io/attach_output.h"
#include "headers/io/attach_blinded_output.h"

#include "headers/attach_mrcc_path_far.h"

#include "headers/far/far_create_path.h"
#include "headers/far/far_configure_filters.h"
#include "headers/far/far_configure.h"
#include "headers/far/far_set_calibrator.h"
#include "headers/far/far_do_report.h"
#include "headers/far/far_set_msg_levels.h"

void reco_far_spill_data_base_dogwood0(int nSkip = 0, int nRun = 100000)
{
  test_filename('F');

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

  RecJobRecord::SetGlobalProdName("Dogwood");

  JobC jc;

  JobCPath& spill = far_create_path(jc);

  set_input_data(jc);

  far_configure_filters(spill);
  far_configure(spill);

  // Set the simulated date of the events as to allow for consistent calibration
  // RerootExodus::SetOverrideVldTimeStamp();

  configure_ugli();

  far_set_calibrator(0);

  far_do_report(spill);

  BfldDbiPlaneMap::SetDefensiveUnpkg(true);

  attach_output(jc, "Spill", "CandSBlind.root", "ntupleStSBlind.root", true, true, true, "sNtpSR");
  attach_blinded_output(jc, spill);

  attach_mrcc_path_far(jc, spill, 1, "FarBeam", false, SimFlag::kData);
  // Don't make a blind MRCC path, duplicate names break things
  //  attach_mrcc_path_far(jc, spill, 1, "FarBeam", true, SimFlag::kData);

  far_set_msg_levels(jc);

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

