#  File:       fitterSave.mac
#  Contact:    Logan Lebanowski <loganleb@hep.upenn.edu>
#  Revisions:  2021/11/11 Logan Lebanowski - new file
#
#      Macro to be run with a specified number of events via option "-N"


/rat/physics_list/OmitMuonicProcesses true

/rat/db/set DETECTOR geo_file "geo/snoplusnative.geo"

/run/initialize

########## EVENT LOOP ############

/rat/proc frontend
/rat/proc trigger
/rat/proc eventbuilder
/rat/proc calibratePMT

/rat/proc datacleaning
/rat/procset mask "default_apply"

# Apply same reconstruction logic as the processed data
/rat/proc/if trigTypeSelector
    # We do not want to process events with the PED trigger - ie the Nhit monitor
    # Additionally, EXTA events are from optical calibration sources. Don't reconstruct.
    /rat/procset trigType "Pedestal"
    /rat/procset trigType "EXTASY"

/rat/proc/else

    /rat/proc classifier
    /rat/procset classifier "skyshine"
    /rat/procset name "skyshine"

    /rat/proc fitter
    /rat/procset method "fastZ"
    /rat/procset name "fastZ"

    /rat/proc scintFitter

    /rat/proc/if fitValidityCut
    /rat/procset fitName "scintFitter"
    /rat/procset parameter "position"

        /rat/proc/if radiusCut
        /rat/procset radius 5700.0
        /rat/procset fitName "scintFitter"
        /rat/procset mode "less"

            /rat/proc/if classifierCut
            /rat/procset classifier "isotropy:scintFitter"
            /rat/procset classification "snobeta14"
            /rat/procset value 0.0  # if beta14 <= value

            /rat/proc/else  # if beta14 > value

                /rat/proc/if classifierCut
                /rat/procset classifier "ITR:scintFitter"
                /rat/procset classification "ITR"
                /rat/procset value 0.15  # if ITR <= value

                /rat/proc/else  # if ITR > value

                    /rat/proc waterFitter

                /rat/proc/endif  # classifierCut ITR

            /rat/proc/endif  # classifierCut beta14

        /rat/proc/endif  # radiusCut

    /rat/proc/else  # if fail fitValidityCut

        /rat/proc waterFitter

    /rat/proc/endif

/rat/proc/endif     # not ped and EXTASY events

/rat/proc prune
/rat/procset prune "mc.pmts,mc.hits,mcevs,ev.uncalPMTs,ev.intermedCalPMTs"

/rat/proc outntuple
/rat/procset saveFitter "waterFitter"

/rat/proclast outroot

########## EVENT LOOP ############

/generator/add combo gun:fillshell:poisson
/generator/vtx/set e- 1 0 0 12.0
/generator/pos/set 0 0 0 5800 8500 cavity
/generator/rate/set 1

/rat/run/start
exit