UMN CDMS Wiki archive
start › cdms › k100 › run_summary › run_68 › run_68_panda › batsfiles

processingUMNData.HV100mm_HV1.midas

#################################################################
#								#
#		PROCESSING CONFIGURATION			#
#								#
#################################################################

# =============================
# MODIFICATION OF RAW DATA
# =============================

PARAMETER_INTEGER       MODIFY_RAWDATA                  =       1                       # modify for DCRC revC
PARAMETER_STRING        MODIFICATION_TYPE  DETECTOR 1,3 =       UMNHVboard100mmHVDCRCrevC_1    # modification  type

# =============================
# PATH
# =============================

PATH	RAW_DATA		= 	$BATROOT_RAWDATA                              		# path to raw data
PATH 	AUX_FILES		= 	$BATROOT_AUXFILES			             	# path to auxilliary files
PATH    NOISE_FILES     	=	$BATROOT_NOISEFILES				 	# path to noise files and pulse templates
PATH	RQ_DATA			= 	$BATROOT_RQDATA				                # Output ROOT file location
PATH 	GPIB_FILE		= 	$BATROOT_GPIBFILES					# path to auxilliary files

PREFIX  RQ_DATA_PREFIX  	=       umn_							# Prefix to the output file
PREFIX  NOISE_PREFIX    	=       umn_Filter_						# Prefix to the noise file
PREFIX  FILEINDEX_PREFIX 	=      F							# Fxxxx for normal data, Vxxxx for veto pulsar

# =============================
# READ AUXILLIARY FILES
# =============================


READ	ISR_FILE	  		=	0	# ISR file 
READ	INFO_FILE	  		=	0	# Info file
READ	GPIB_FILE	  		=	0	# GPIB
READ 	DMM_FILE	  		=	0	# DMM file 
READ 	FILTER_FILE	  		=	1	# FILTER file - mandatory for optimal filter processing!
READ	DET_STATUS_FILE   		=   	0       # Detector status file
READ	DATABASE	  		= 	0	# mySQL database (see settings end of this file)
	
# Note:
#   - if READ INFO_FILE = 0 , default sample rate, pre and post-trigger are used (see below)
#   - if READ ISR_FILE  = 0,  pulses are not normalized, no Qbias information



# =============================
# GENERAL PROCESSING CONFIG
# =============================


PARAMETER_INTEGER	MAX_EVENTS	=  	10000 		# max number of events to process
PARAMETER_INTEGER	DEBUG		=	0 		# not activated yet
PARAMETER_INTEGER	MAX_ZIPS	= 	1		# maximum number of detectors 
PARAMETER_INTEGER   	MAX_TOWERS  	=   1              # total number of towers 


# Type number taken from raw data format

PARAMETER_INTEGER	DET_TYPE 		DETECTOR 1-15		= 1710   # 100mm HV one-sided readout (UMN HV board)


PARAMETER_INTEGER       WRITE_PROCESS_INFO = 	1		# store processing settings
PARAMETER_INTEGER       WRITE_SETTINGS_INFO  = 	1		# store analysis config parameters
PARAMETER_INTEGER       WRITE_DETCONFIG_INFO  = 1		# store detector config parameters
PARAMETER_INTEGER       WRITE_FILTER_INFO  = 	1		# calculate and store filter quantities
PARAMETER_INTEGER       WRITE_NOISE_PULSES  =   1               # store pulses processed for filter calculation




# =============================
# ANALYSIS FLAGS
# =============================


# -------------  NOISE MONITOR PROCESSING -------------------

DO_PROCESSING NOISEMONITOR 	= 	0

# -------------  VETO PROCESSING -------------------

DO_PROCESSING	VETO		=	0                    # needs the trigger processing 
WRITE_RQ	VETO		=	0


# ------------ TRIGGER  PROCESSING ------------------

DO_PROCESSING	TRIGGER			=	0
WRITE_RQ	TRIGGER			=	0
 

# --------------- ZIP PROCESSING -------------------


DO_PROCESSING		DETECTOR 1	=  	1    
WRITE_RQ		DETECTOR 1	=	1	 

CALC_PHONON_TEMPLATE	 DETECTOR 1   	=  	1

CALC_CHARGE_TEMPLATE 	 DETECTOR 1   	=  	0		# changed this from 1 to 0 from the 100mm iZIP case. Maybe this line is entirely irrelevant for HV.


#
#  flags for specific pulse algorithms 
#  (name of the algorithm should be same as the analysis class)
#  

# ======== Phonon analysis classes  ======== 

DO_PHONON_ALGORITHM	OptimalFilterPhonon		DETECTOR 1   =	1

DO_PHONON_ALGORITHM     ConstFreqRTFTWalkPhonon		DETECTOR 1   =  1

DO_PHONON_ALGORITHM     TailFitPhonon           	DETECTOR 1   =  1   # need charge OF and PT OF

DO_PHONON_ALGORITHM 	PulseIntegral 			DETECTOR 1   =	1


# NOT USED
DO_PHONON_ALGORITHM     InflectionTime          	DETECTOR 1	=	0
DO_PHONON_ALGORITHM	VarFreqRTFTWalkPhonon 		DETECTOR 1	=	0  # needs optimal filter
DO_PHONON_ALGORITHM     NoiseSelector           	DETECTOR 1	=	0  # needs optimal filter and optionally rtftwalk




# ======== Phonon analysis with sum of pulses ========

DO_PHONON_TOT		OptimalFilterPhonon		DETECTOR 1	=	1

DO_PHONON_TOT		OptimalFilterPhononNS		DETECTOR 1	=	0 # needs optimal filter on total pulse

DO_PHONON_TOT		ConstFreqRTFTWalkPhonon		DETECTOR 1	=	1

DO_PHONON_TOT		PulseIntegral			DETECTOR 1	=	1

# NOT USED
DO_PHONON_TOT		VarFreqRTFTWalkPhonon		DETECTOR 1	=	0




# ======== Phonon analysis with sum of pulses per side ========

DO_PHONON_SIDES		OptimalFilterPhonon		DETECTOR 1	=	1

DO_PHONON_SIDES 	ConstFreqRTFTWalkPhonon		DETECTOR 1	=	1

DO_PHONON_SIDES		PulseIntegral 			DETECTOR 1	=	1


# charge analysis classes - DO NOT modify or copy this comment (for auto_analysis)

DO_CHARGE_ALGORITHM BasicPulseCalc               	DETECTOR 1		=	0

DO_CHARGE_ALGORITHM     F5ChargeX               	DETECTOR 1		=	0

DO_CHARGE_ALGORITHM	OptimalFilterCharge2X2		DETECTOR 1		=	0

DO_CHARGE_ALGORITHM	OptimalFilterCharge		DETECTOR 1		=	0

DO_CHARGE_ALGORITHM	RTFTWalkCharge			DETECTOR 1		=	0

DO_CHARGE_ALGORITHM	ChargeNoiseCovariance 		DETECTOR 1		=	0   # only for special studies, located in NoiseBuilder



# set to 1 to run in simulation mode (using randoms).  If any of the switches below
# are set to true, BatRoot will be run in "simulation mode".  Its not permitted to
# have this on for some detectors and off for others!
# Look for configurable params for simulations in the analysis config file
PARAMETER_INTEGER       DO_SIM_FROM_TEMPLATE                      =      0
PARAMETER_INTEGER       DO_SIM_FROM_PULSE                         =      0

# choose which channels to inject into
PARAMETER_INTEGER       DO_CHARGESIM                              =      0
PARAMETER_INTEGER       DO_PHONONSIM                              =      0    # must be on if any of the flags below are on!
PARAMETER_INTEGER       DO_PCHANSIM                               =      0    # individual phonon channels
PARAMETER_INTEGER       DO_PSIDESSIM                              =      0    # side-summed phonon channels
PARAMETER_INTEGER       DO_PTSIM                                  =      0    # total phonon pulse

configUMNData.HV100mm_HV1.midas

#################################################################
#								#
#		ANALYSIS/DETECTOR CONFIGURATION			#
#								#
#################################################################


#
# _____________________________________________________
# 
#			ANALYSIS
#        
# _____________________________________________________
#
#



# ==============  TRIGGER  ANALYSIS ==============


PARAMETER_INTEGER	EVENTWINDOW	=  20  #time before & after event to look for plow or qlow trig, in microseconds



# ===============  ZIP  ANALYSIS =================


#
#   Syntax:     
#
#     DETECTOR # or #-# or #,# or combination of above, 
#                  with or without white space            
# 


# --------- Optimal Filter --------- 


# double exponential function form for phonon template

# FIXME not set yet! (current numbers are completely fictional for phonons)
   
#PARAMETER_DOUBLE 	P_RISE_TIME	DETECTOR 1-15				=	38e-6
#PARAMETER_DOUBLE 	P_FALL_TIME	DETECTOR 1-15				=	260e-6
# below are approximate for Run68
PARAMETER_DOUBLE 	P_RISE_TIME	DETECTOR 1-15				=	35e-6
PARAMETER_DOUBLE 	P_FALL_TIME	DETECTOR 1-15				=	50e-6

PARAMETER_DOUBLE 	Q_RISE_TIME	DETECTOR 1-15				=	0.8e-6
PARAMETER_DOUBLE 	Q_FALL_TIME	DETECTOR 1-15				=	22e-6


# Peak Window 
# Window_min(max) = PreTrigger -(+) SampleRate * PEAK_WINDOW_MIN(MAX)

PARAMETER_DOUBLE	Q_PEAK_WINDOW_MAX	DETECTOR 1-15	=   	10e-6	# Ge
PARAMETER_DOUBLE    	Q_PEAK_WINDOW_MIN       DETECTOR 1-15   =   	100e-6;



# Z window:  [window_min : window_max]*sampleRate
PARAMETER_DOUBLE	Q_Z_WINDOW_MIN		DETECTOR 1-15	=	-4e-6	# Ge
PARAMETER_DOUBLE	Q_Z_WINDOW_MAX		DETECTOR 1-15	=	+4e-6	# Ge


PARAMETER_DOUBLE	P_PEAK_WINDOW_MIN	DETECTOR 1-15	=	200e-6	# Ge	
PARAMETER_DOUBLE	P_PEAK_WINDOW_MAX	DETECTOR 1-15	=	200e-6	# Ge

#NSOF chisquare half window
PARAMETER_INTEGER	P_NSPEAK_CHIWINDOW_HALF	DETECTOR 1-15	=	0 


# OF chisq cutoff frequency (in Hz)
PARAMETER_DOUBLE	P_CHISQ_CUTOFF  	DETECTOR 1-15	=	10e3



# Toggle this between 1 and 0 to turn on and off the delay interpolation routine
# Note that it will only be done for events that are above the Q_CHISQ_THRESH

PARAMETER_INTEGER       Q_DELAY_INTERPOLATE     DETECTOR 1-15 	= 	1
PARAMETER_INTEGER 	Q_Z_DELAY_CONSTRAINT	DETECTOR 1-15 	= 	0
PARAMETER_INTEGER       Q_PTDELAY_CONSTRAINT    DETECTOR 1-15 	=     	0


# PT threshold for various analysis such as NSOF (Usage: PTOFamps*1e8> PT_THRESHOLD)
PARAMETER_DOUBLE        PT_THRESHOLD    DETECTOR 1-15   =    0.6




# --------- F5ChargeX start and end bin values -----------

PARAMETER_INTEGER	Q_START_GOOD_CHARGE	DETECTOR 1-15	=	912
PARAMETER_INTEGER	Q_END_GOOD_CHARGE	DETECTOR 1-15	=	1511
PARAMETER_INTEGER	Q_TEMPLATE_START	DETECTOR 1-15	=	250
PARAMETER_DOUBLE  	Q_F5_NOISE		DETECTOR 1-15  	=   	1.0e-7
	


# ------- Butterworth filter for timing calculation (rtftWalk) ------


PARAMETER_INTEGER	P_RTFT_BUTTERWORTH_ORDER		DETECTOR 1-15	=  2
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_CUTOFF_LOWERLIMIT 	DETECTOR 1-15   =  6e3
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_CUTOFF_UPPERLIMIT 	DETECTOR 1-15   =  200e3
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_SCALEFACTOR       	DETECTOR 1-15   =  3

PARAMETER_INTEGER	Q_RTFT_BUTTERWORTH_ORDER		DETECTOR 1-15	=  2
PARAMETER_DOUBLE	Q_RTFT_BUTTERWORTH_CUTOFF		DETECTOR 1-15	=  200e3	# Ge

# -------- the following two parameters are used by ConstFreqrtftWalk, the older version of rtftWalk

PARAMETER_DOUBLE	P_RTFT_BUTTERWORTH_CUTOFF_DEFAULT   	DETECTOR 1-15	=  50e3	# Ge

# ------- Pulse truncation for peak scan (rtftWalk) -----------------------

PARAMETER_INTEGER       P_RTFT_PULLBACK                 	DETECTOR 1-15   =  150

# ------- Pileup cut for noise file generation -----------------------

PARAMETER_INTEGER       DO_PILEUP_CUT   DETECTOR 1-15             =      0
PARAMETER_DOUBLE	PILEUP_CUT	DETECTOR 1-15		  = 	  1.5
PARAMETER_INTEGER       PILEUP_NCHUNK   DETECTOR 1-15             =      16     # number of divisions for pileup calculation
PARAMETER_DOUBLE        PILEUP_FRAC     DETECTOR 1-15             =      0.35   # not used by default 
PARAMETER_INTEGER       PILEUP_BINS     DETECTOR 1-15             =      30     # not used by default 


# ------- MinMax cut for noise file generation -----------------------
PARAMETER_INTEGER       DO_MINMAX     	 DETECTOR 1-15            =       1
PARAMETER_INTEGER       MINMAX_MAX       DETECTOR 1-15            =       1024 # max limit for minmax histo, used in cut calcuation, must be power of 2
PARAMETER_DOUBLE        MINMAX_YTHRESH   DETECTOR 1-15            =       20.0 
PARAMETER_DOUBLE	MINMAX_NSIGMA    DETECTOR 1-15		  = 	 3.0  # roughly the number of sigma cut for the distribution, make smaller for tighter cut.


# ------ Phonon Chi2 Cut for noise generation ------
PARAMETER_INTEGER       DO_PHONON_CHISQ_CUT             DETECTOR 1-15           =       1
PARAMETER_INTEGER       P_CHISQ_CUT_PERCENT             DETECTOR 1-15           =       50



# --------   template  normalization -------

PARAMETER_DOUBLE	P_PULSENORM	DETECTOR 1-15	=  1
PARAMETER_DOUBLE	Q_PULSENORM	DETECTOR 1-15	=  1

# -------- Butterworth filter for phonon integal calculation --------

PARAMETER_INTEGER	P_INTEGRAL_BUTTERWORTH_ORDER	DETECTOR 1-15	=	2
PARAMETER_DOUBLE	P_INTEGRAL_BUTTERWORTH_CUTOFF	DETECTOR 1-15	=	100


# --------- relative phonon calibration (for PT)  ---------

#PARAMETER_DOUBLE	P_RELATIVE_CALIBRATION	        DETECTOR 1-15    =    0 0.684 0.587 1.232 1.971 0.526   #this is for 45V data
PARAMETER_DOUBLE	P_RELATIVE_CALIBRATION	        DETECTOR 1-15    =    1 1 1 1 1 1

# -------------- OF charge calibration (qia1, qoa1, qia2, qoa2) --------------
#
PARAMETER_DOUBLE        Q_CALIBRATION_OF                DETECTOR 1-15      =  1  1  1  1  1  1


# -------------- phonon calibration for non-stationary optimal filter (pt) --------------

PARAMETER_DOUBLE        PT_CALIBRATION_NF       DETECTOR 1-15      =  88665013





# ---------------- Tail Fit -------------------
# window
PARAMETER_INTEGER	P_TAIL_FIT_USE_QDELAY	DETECTOR 1-15	=	0 # user PTOFdelay instead
PARAMETER_DOUBLE	P_TAIL_FIT_START	DETECTOR 1-15	=	800e-6

# constraint fall time
# 0 -> no constraint
# 1 -> constraint +/- 1 sigma
# 2 -> fix

PARAMETER_INTEGER	P_TAIL_FIT_TAU_FLAG	DETECTOR 1-15	=	0

# tau fit (in musec)
PARAMETER_DOUBLE	P_TAIL_FIT_TAU		DETECTOR 1-15	=   250  250  250   250  250 250  250  250  250  250  250  250 

# tau fit sigma (in musec)
PARAMETER_DOUBLE	P_TAIL_FIT_TAU_SIGMA	DETECTOR 1-15	=    25    25   25    25     24    19    32    19    28    19    19    20



# _____________________________________________________
#
#              DETECTOR CONFIGURATION
#        
# _____________________________________________________
#


# ------------- detector/tower info  ---------------

DET_TOWER		DETECTOR 1-15				=	IT1
PARAMETER_INTEGER 	INDEX_IN_TOWER 		DETECTOR 1 	= 	1
DET_SUBSTRATE 		DETECTOR 1-15				=	Ge 


# ---------- ADC/Trigger configuration ---------

# Note:
#  sample rate, pretrigger, posttrigger are read INFO file
#   default values below are used in case file not existing

 

#  default Sample rate 

PARAMETER_DOUBLE	P_SAMPLERATE	DETECTOR 1-15	=	1.25e06
PARAMETER_DOUBLE	Q_SAMPLERATE	DETECTOR 1-15	=	2.5e06		
#PARAMETER_DOUBLE	Q_SAMPLERATE	DETECTOR 1-15	=	1.25e06		

# default Pre-trigger 

#PARAMETER_INTEGER	P_PRETRIGGER	DETECTOR 1-15	=	512 # THIS IS WRONG, outdated
PARAMETER_INTEGER	P_PRETRIGGER	DETECTOR 1-15	=	500
PARAMETER_INTEGER	Q_PRETRIGGER	DETECTOR 1-15	=	1000			
#PARAMETER_INTEGER	Q_PRETRIGGER	DETECTOR 1-15	=	512			

#  default Post-trigger 

PARAMETER_INTEGER	P_POSTTRIGGER	DETECTOR 1-15	=	3596
PARAMETER_INTEGER	Q_POSTTRIGGER	DETECTOR 1-15	=	7192			
#PARAMETER_INTEGER	Q_POSTTRIGGER	DETECTOR 1-15	=	1536		



# bias
PARAMETER_DOUBLE 	Q_BIAS	DETECTOR 1-15		=	-4  -4  -4  4  4  4 
PARAMETER_DOUBLE 	P_BIAS	DETECTOR 1-15		=	1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4   # in amps




# digitizer Bins per Volt at Struck 

PARAMETER_DOUBLE	P_DigitizerBinsPerVolt	DETECTOR 1-15	=	6553.6  # DCRC3 +/- 1.25V 14bit
PARAMETER_DOUBLE	Q_DigitizerBinsPerVolt	DETECTOR 1-15	=	16000 # DCRC3 AD7621 62.5uV/ADC

# R shunt

PARAMETER_DOUBLE	P_Rshunt	DETECTOR 1-15	=	20E-3

# Phonon feeback gain (=10 (input/fb turn ratio) * 1000 Ohm fb resistor)
PARAMETER_DOUBLE	P_FBgain	DETECTOR 1-15	=	10000

# Charge feedback cap = 1 pF
PARAMETER_DOUBLE	Q_CFB		DETECTOR 1-15	=	1e-12	

# Charge feedback resistor = 40 MOhms
PARAMETER_DOUBLE	Q_RFB		DETECTOR 1-15	=	40e6

# charge 1st stage gain
PARAMETER_DOUBLE	Q_Gain1		DETECTOR 1-15	=	11

# driver gains (if not set from ISR file)
PARAMETER_DOUBLE	P_DriverGain	DETECTOR 1-15	=	20 20 20 20 20 20 20 20 20 20 20 20 
PARAMETER_DOUBLE	Q_DriverGain	DETECTOR 1-15	=	2 2  2 2 2 2



# saturation value 

PARAMETER_INTEGER	P_SATURATION	DETECTOR 1-15 	=	16384
PARAMETER_INTEGER	Q_SATURATION	DETECTOR 1-15	=	65535

# minimum value 

PARAMETER_INTEGER	P_MINADC	DETECTOR 1-15 	=	2
PARAMETER_INTEGER	Q_MINADC	DETECTOR 1-15	=	2

# baseline 

PARAMETER_INTEGER	P_BASELINE_MIN 		DETECTOR 1-15 	=	1
PARAMETER_INTEGER	P_BASELINE_MAX 		DETECTOR 1-15 	=	400
PARAMETER_INTEGER	P_POSTBASELINE 		DETECTOR 1-15 	=	100 #for end of trace baseline

PARAMETER_INTEGER	Q_BASELINE_MIN 		DETECTOR 1-15 	=	1
PARAMETER_INTEGER	Q_BASELINE_MAX 		DETECTOR 1-15 	=	800
PARAMETER_INTEGER	Q_POSTBASELINE 		DETECTOR 1-15 	=	100 #for end of trace baseline


# _____________________________________________________
#
#              PULSE SIMULATION
#        
# _____________________________________________________
#

#FIXME, format of these parameters could use some organization if
#this interface is to be made fully configurable

#SimPTsFlatSpec will generate from MIN_E/NORM_KEV to MAX_E/NORM_KEV
#NORM_KEV provides a rough conversion from keV to BatRoot normalizations 
#This is just an example, the user should provide his or her normalization 
#scheme may be more carefully done.

PARAMETER_DOUBLE    	SIMPTWFLATSPEC_MIN_E    DETECTOR 1-15 	= 0;   #roughly in keV
PARAMETER_DOUBLE    	SIMPTWFLATSPEC_MAX_E    DETECTOR 1-15 	= 10;  #roughly in keV

PARAMETER_DOUBLE        SIMPT_NORM_KEV          DETECTOR 1-15   = 80000000   #rough conversion from keV

processingUMNData.HV100mm_HV1_NaI.midas

#################################################################
#								#
#		PROCESSING CONFIGURATION			#
#								#
#################################################################

# =============================
# MODIFICATION OF RAW DATA
# =============================

PARAMETER_INTEGER       MODIFY_RAWDATA                  =       1                       # modify for DCRC revC
PARAMETER_STRING        MODIFICATION_TYPE  DETECTOR 1,3 =       UMNHVboard100mmHVDCRCrevC_1    # modification  type

# =============================
# PATH
# =============================

PATH	RAW_DATA		= 	$BATROOT_RAWDATA                              		# path to raw data
PATH 	AUX_FILES		= 	$BATROOT_AUXFILES			             	# path to auxilliary files
PATH    NOISE_FILES     	=	$BATROOT_NOISEFILES				 	# path to noise files and pulse templates
PATH	RQ_DATA			= 	$BATROOT_RQDATA				                # Output ROOT file location
PATH 	GPIB_FILE		= 	$BATROOT_GPIBFILES					# path to auxilliary files

PREFIX  RQ_DATA_PREFIX  	=       umn_							# Prefix to the output file
PREFIX  NOISE_PREFIX    	=       umn_Filter_						# Prefix to the noise file
PREFIX  FILEINDEX_PREFIX 	=      F							# Fxxxx for normal data, Vxxxx for veto pulsar

# =============================
# READ AUXILLIARY FILES
# =============================


READ	ISR_FILE	  		=	0	# ISR file 
READ	INFO_FILE	  		=	0	# Info file
READ	GPIB_FILE	  		=	0	# GPIB
READ 	DMM_FILE	  		=	0	# DMM file 
READ 	FILTER_FILE	  		=	1	# FILTER file - mandatory for optimal filter processing!
READ	DET_STATUS_FILE   		=   	0       # Detector status file
READ	DATABASE	  		= 	0	# mySQL database (see settings end of this file)
	
# Note:
#   - if READ INFO_FILE = 0 , default sample rate, pre and post-trigger are used (see below)
#   - if READ ISR_FILE  = 0,  pulses are not normalized, no Qbias information



# =============================
# GENERAL PROCESSING CONFIG
# =============================


PARAMETER_INTEGER	MAX_EVENTS	=  	10000 		# max number of events to process
PARAMETER_INTEGER	DEBUG		=	0 		# not activated yet
PARAMETER_INTEGER	MAX_ZIPS	= 	6		# maximum number of detectors 
PARAMETER_INTEGER   	MAX_TOWERS  	=   1              # total number of towers 


# Type number taken from raw data format

PARAMETER_INTEGER	DET_TYPE 		DETECTOR 1,3		= 1710   # 100mm HV one-sided readout (UMN HV board)
PARAMETER_INTEGER	DET_TYPE 		DETECTOR 4  		= 4   # ZIPS


PARAMETER_INTEGER       WRITE_PROCESS_INFO = 	1		# store processing settings
PARAMETER_INTEGER       WRITE_SETTINGS_INFO  = 	1		# store analysis config parameters
PARAMETER_INTEGER       WRITE_DETCONFIG_INFO  = 1		# store detector config parameters
PARAMETER_INTEGER       WRITE_FILTER_INFO  = 	1		# calculate and store filter quantities
PARAMETER_INTEGER       WRITE_NOISE_PULSES  =   1               # store pulses processed for filter calculation




# =============================
# ANALYSIS FLAGS
# =============================


# -------------  NOISE MONITOR PROCESSING -------------------

DO_PROCESSING NOISEMONITOR 	= 	0

# -------------  VETO PROCESSING -------------------

DO_PROCESSING	VETO		=	0                    # needs the trigger processing 
WRITE_RQ	VETO		=	0


# ------------ TRIGGER  PROCESSING ------------------

DO_PROCESSING	TRIGGER			=	0
WRITE_RQ	TRIGGER			=	0
 

# --------------- ZIP PROCESSING -------------------


DO_PROCESSING		DETECTOR 1	=  	1    
DO_PROCESSING		DETECTOR 4	=  	1    
DO_PROCESSING		DETECTOR 2,3,5,6	=  	0    
WRITE_RQ		DETECTOR 1	=	1	 
WRITE_RQ		DETECTOR 4	=	1	 
WRITE_RQ		DETECTOR 2,3,5,6	=  	0	 

#CALC_PHONON_TEMPLATE	 DETECTOR 1   	=  	1
#CALC_PHONON_TEMPLATE	 DETECTOR 4   	=  	1

#CALC_CHARGE_TEMPLATE 	 DETECTOR 1   	=  	0		# changed this from 1 to 0 from the 100mm iZIP case. Maybe this line is entirely irrelevant for HV.

#CALC_CHARGE_TEMPLATE 	 DETECTOR 4   	=  	0

CALC_PHONON_TEMPLATE	 DETECTOR 1-15  	=  	1
CALC_CHARGE_TEMPLATE 	 DETECTOR 1-15  	= 	1


#
#  flags for specific pulse algorithms 
#  (name of the algorithm should be same as the analysis class)
#  

# ======== Phonon analysis classes  ======== 

DO_PHONON_ALGORITHM	OptimalFilterPhonon		DETECTOR 1   =	1
DO_PHONON_ALGORITHM	OptimalFilterPhonon		DETECTOR 4   =	0
DO_PHONON_ALGORITHM	OptimalFilterPhonon		DETECTOR 2,3,5,6   =	0

DO_PHONON_ALGORITHM     ConstFreqRTFTWalkPhonon		DETECTOR 1,4   =  1
DO_PHONON_ALGORITHM     ConstFreqRTFTWalkPhonon		DETECTOR 2,3,5,6   =  0

DO_PHONON_ALGORITHM     TailFitPhonon           	DETECTOR 1   =  1   # need charge OF and PT OF
DO_PHONON_ALGORITHM     TailFitPhonon           	DETECTOR 4   =  0   # need charge OF and PT OF
DO_PHONON_ALGORITHM     TailFitPhonon           	DETECTOR 2,3,5,6   =  0   # need charge OF and PT OF

DO_PHONON_ALGORITHM 	PulseIntegral 			DETECTOR 1,4   =	1
DO_PHONON_ALGORITHM 	PulseIntegral 			DETECTOR 2,3,5,6   =	0


# NOT USED
DO_PHONON_ALGORITHM     InflectionTime          	DETECTOR 1-6	=	0
DO_PHONON_ALGORITHM	VarFreqRTFTWalkPhonon 		DETECTOR 1-6	=	0  # needs optimal filter
DO_PHONON_ALGORITHM     NoiseSelector           	DETECTOR 1-6	=	0  # needs optimal filter and optionally rtftwalk




# ======== Phonon analysis with sum of pulses ========

DO_PHONON_TOT		OptimalFilterPhonon		DETECTOR 1	=	1
DO_PHONON_TOT		OptimalFilterPhonon		DETECTOR 4	=	0
DO_PHONON_TOT		OptimalFilterPhonon		DETECTOR 2,3,5,6	=	0

DO_PHONON_TOT		OptimalFilterPhononNS		DETECTOR 1-6	=	0 # needs optimal filter on total pulse

DO_PHONON_TOT		ConstFreqRTFTWalkPhonon		DETECTOR 1	=	1
DO_PHONON_TOT		ConstFreqRTFTWalkPhonon		DETECTOR 4	=	0
DO_PHONON_TOT		ConstFreqRTFTWalkPhonon		DETECTOR 2,3,5,6	=	0

DO_PHONON_TOT		PulseIntegral			DETECTOR 1	=	1
DO_PHONON_TOT		PulseIntegral			DETECTOR 4	=	0
DO_PHONON_TOT		PulseIntegral			DETECTOR 2,3,5,6	=	0

# NOT USED
DO_PHONON_TOT		VarFreqRTFTWalkPhonon		DETECTOR 1-6	=	0




# ======== Phonon analysis with sum of pulses per side ========

DO_PHONON_SIDES		OptimalFilterPhonon		DETECTOR 1	=	1
DO_PHONON_SIDES		OptimalFilterPhonon		DETECTOR 4	=	0

DO_PHONON_SIDES 	ConstFreqRTFTWalkPhonon		DETECTOR 1	=	1
DO_PHONON_SIDES 	ConstFreqRTFTWalkPhonon		DETECTOR 4	=	0

DO_PHONON_SIDES		PulseIntegral 			DETECTOR 1	=	1
DO_PHONON_SIDES		PulseIntegral 			DETECTOR 4	=	0


# charge analysis classes - DO NOT modify or copy this comment (for auto_analysis)

DO_CHARGE_ALGORITHM BasicPulseCalc               	DETECTOR 1,4		=	0

DO_CHARGE_ALGORITHM     F5ChargeX               	DETECTOR 1,4		=	0

DO_CHARGE_ALGORITHM	OptimalFilterCharge2X2		DETECTOR 1,4		=	0

DO_CHARGE_ALGORITHM	OptimalFilterCharge		DETECTOR 1,4		=	0

DO_CHARGE_ALGORITHM	RTFTWalkCharge			DETECTOR 1,4		=	0

DO_CHARGE_ALGORITHM	ChargeNoiseCovariance 		DETECTOR 1,4		=	0   # only for special studies, located in NoiseBuilder



# set to 1 to run in simulation mode (using randoms).  If any of the switches below
# are set to true, BatRoot will be run in "simulation mode".  Its not permitted to
# have this on for some detectors and off for others!
# Look for configurable params for simulations in the analysis config file
PARAMETER_INTEGER       DO_SIM_FROM_TEMPLATE                      =      0
PARAMETER_INTEGER       DO_SIM_FROM_PULSE                         =      0

# choose which channels to inject into
PARAMETER_INTEGER       DO_CHARGESIM                              =      0
PARAMETER_INTEGER       DO_PHONONSIM                              =      0    # must be on if any of the flags below are on!
PARAMETER_INTEGER       DO_PCHANSIM                               =      0    # individual phonon channels
PARAMETER_INTEGER       DO_PSIDESSIM                              =      0    # side-summed phonon channels
PARAMETER_INTEGER       DO_PTSIM                                  =      0    # total phonon pulse

configUMNData.HV100mm_HV1_NaI.midas

#################################################################
#								#
#		ANALYSIS/DETECTOR CONFIGURATION			#
#								#
#################################################################


#
# _____________________________________________________
# 
#			ANALYSIS
#        
# _____________________________________________________
#
#



# ==============  TRIGGER  ANALYSIS ==============


PARAMETER_INTEGER	EVENTWINDOW	=  20  #time before & after event to look for plow or qlow trig, in microseconds



# ===============  ZIP  ANALYSIS =================


#
#   Syntax:     
#
#     DETECTOR # or #-# or #,# or combination of above, 
#                  with or without white space            
# 


# --------- Optimal Filter --------- 


# double exponential function form for phonon template

# FIXME not set yet! (current numbers are completely fictional for phonons)
   
#PARAMETER_DOUBLE 	P_RISE_TIME	DETECTOR 1-15				=	38e-6
#PARAMETER_DOUBLE 	P_FALL_TIME	DETECTOR 1-15				=	260e-6
# below are approximate for Run68
PARAMETER_DOUBLE 	P_RISE_TIME	DETECTOR 1-15				=	35e-6
PARAMETER_DOUBLE 	P_FALL_TIME	DETECTOR 1-15				=	50e-6

PARAMETER_DOUBLE 	Q_RISE_TIME	DETECTOR 1-15				=	0.8e-6
PARAMETER_DOUBLE 	Q_FALL_TIME	DETECTOR 1-15				=	22e-6


# Peak Window 
# Window_min(max) = PreTrigger -(+) SampleRate * PEAK_WINDOW_MIN(MAX)

PARAMETER_DOUBLE	Q_PEAK_WINDOW_MAX	DETECTOR 1-15	=   	10e-6	# Ge
PARAMETER_DOUBLE    	Q_PEAK_WINDOW_MIN       DETECTOR 1-15   =   	100e-6;



# Z window:  [window_min : window_max]*sampleRate
PARAMETER_DOUBLE	Q_Z_WINDOW_MIN		DETECTOR 1-15	=	-4e-6	# Ge
PARAMETER_DOUBLE	Q_Z_WINDOW_MAX		DETECTOR 1-15	=	+4e-6	# Ge


PARAMETER_DOUBLE	P_PEAK_WINDOW_MIN	DETECTOR 1-15	=	200e-6	# Ge	
PARAMETER_DOUBLE	P_PEAK_WINDOW_MAX	DETECTOR 1-15	=	200e-6	# Ge

#NSOF chisquare half window
PARAMETER_INTEGER	P_NSPEAK_CHIWINDOW_HALF	DETECTOR 1	=	0 
PARAMETER_INTEGER	P_NSPEAK_CHIWINDOW_HALF	DETECTOR 4	=	5 # don't know what this is... 


# OF chisq cutoff frequency (in Hz)
PARAMETER_DOUBLE	P_CHISQ_CUTOFF  	DETECTOR 1-15	=	10e3



# Toggle this between 1 and 0 to turn on and off the delay interpolation routine
# Note that it will only be done for events that are above the Q_CHISQ_THRESH

PARAMETER_INTEGER       Q_DELAY_INTERPOLATE     DETECTOR 1-15 	= 	1
PARAMETER_INTEGER 	Q_Z_DELAY_CONSTRAINT	DETECTOR 1-15 	= 	0
PARAMETER_INTEGER       Q_PTDELAY_CONSTRAINT    DETECTOR 1-15 	=     	0


# PT threshold for various analysis such as NSOF (Usage: PTOFamps*1e8> PT_THRESHOLD)
PARAMETER_DOUBLE        PT_THRESHOLD    DETECTOR 1-15   =    0.6




# --------- F5ChargeX start and end bin values -----------

PARAMETER_INTEGER	Q_START_GOOD_CHARGE	DETECTOR 1-15	=	912
PARAMETER_INTEGER	Q_END_GOOD_CHARGE	DETECTOR 1-15	=	1511
PARAMETER_INTEGER	Q_TEMPLATE_START	DETECTOR 1-15	=	250
PARAMETER_DOUBLE  	Q_F5_NOISE		DETECTOR 1-15  	=   	1.0e-7
	


# ------- Butterworth filter for timing calculation (rtftWalk) ------


PARAMETER_INTEGER	P_RTFT_BUTTERWORTH_ORDER		DETECTOR 1-15	=  2
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_CUTOFF_LOWERLIMIT 	DETECTOR 1-15   =  6e3
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_CUTOFF_UPPERLIMIT 	DETECTOR 1-15   =  200e3
PARAMETER_DOUBLE    	P_RTFT_BUTTERWORTH_SCALEFACTOR       	DETECTOR 1-15   =  3

PARAMETER_INTEGER	Q_RTFT_BUTTERWORTH_ORDER		DETECTOR 1-15	=  2
PARAMETER_DOUBLE	Q_RTFT_BUTTERWORTH_CUTOFF		DETECTOR 1-15	=  200e3	# Ge

# -------- the following two parameters are used by ConstFreqrtftWalk, the older version of rtftWalk

PARAMETER_DOUBLE	P_RTFT_BUTTERWORTH_CUTOFF_DEFAULT   	DETECTOR 1-15	=  50e3	# Ge

# ------- Pulse truncation for peak scan (rtftWalk) -----------------------

PARAMETER_INTEGER       P_RTFT_PULLBACK                 	DETECTOR 1-15   =  150

# ------- Pileup cut for noise file generation -----------------------

PARAMETER_INTEGER       DO_PILEUP_CUT   DETECTOR 1-15             =      0
PARAMETER_DOUBLE	PILEUP_CUT	DETECTOR 1-15		  = 	  1.5
PARAMETER_INTEGER       PILEUP_NCHUNK   DETECTOR 1-15             =      16     # number of divisions for pileup calculation
PARAMETER_DOUBLE        PILEUP_FRAC     DETECTOR 1-15             =      0.35   # not used by default 
PARAMETER_INTEGER       PILEUP_BINS     DETECTOR 1-15             =      30     # not used by default 


# ------- MinMax cut for noise file generation -----------------------
PARAMETER_INTEGER       DO_MINMAX     	 DETECTOR 1-15            =       1
PARAMETER_INTEGER       MINMAX_MAX       DETECTOR 1-15            =       1024 # max limit for minmax histo, used in cut calcuation, must be power of 2
PARAMETER_DOUBLE        MINMAX_YTHRESH   DETECTOR 1-15            =       20.0 
PARAMETER_DOUBLE	MINMAX_NSIGMA    DETECTOR 1-15		  = 	 3.0  # roughly the number of sigma cut for the distribution, make smaller for tighter cut.


# ------ Phonon Chi2 Cut for noise generation ------
PARAMETER_INTEGER       DO_PHONON_CHISQ_CUT             DETECTOR 1           =       1
PARAMETER_INTEGER       DO_PHONON_CHISQ_CUT             DETECTOR 4           =       0 # don't know what this is...
PARAMETER_INTEGER       P_CHISQ_CUT_PERCENT             DETECTOR 1-15           =       50



# --------   template  normalization -------

PARAMETER_DOUBLE	P_PULSENORM	DETECTOR 1-15	=  1
PARAMETER_DOUBLE	Q_PULSENORM	DETECTOR 1-15	=  1

# -------- Butterworth filter for phonon integal calculation --------

PARAMETER_INTEGER	P_INTEGRAL_BUTTERWORTH_ORDER	DETECTOR 1-15	=	2
PARAMETER_DOUBLE	P_INTEGRAL_BUTTERWORTH_CUTOFF	DETECTOR 1-15	=	100


# --------- relative phonon calibration (for PT)  ---------

#PARAMETER_DOUBLE	P_RELATIVE_CALIBRATION	        DETECTOR 1-15    =    0 0.684 0.587 1.232 1.971 0.526   #this is for 45V data
PARAMETER_DOUBLE	P_RELATIVE_CALIBRATION	        DETECTOR 1    =    1 1 1 1 1 1
PARAMETER_DOUBLE	P_RELATIVE_CALIBRATION	        DETECTOR 4    =    1 1 1 1

# -------------- OF charge calibration (qia1, qoa1, qia2, qoa2) --------------
#
PARAMETER_DOUBLE        Q_CALIBRATION_OF                DETECTOR 1-15      =  1  1  1  1  1  1


# -------------- phonon calibration for non-stationary optimal filter (pt) --------------

PARAMETER_DOUBLE        PT_CALIBRATION_NF       DETECTOR 1-15      =  88665013





# ---------------- Tail Fit -------------------
# window
PARAMETER_INTEGER	P_TAIL_FIT_USE_QDELAY	DETECTOR 1-15	=	0 # user PTOFdelay instead
PARAMETER_DOUBLE	P_TAIL_FIT_START	DETECTOR 1-15	=	800e-6

# constraint fall time
# 0 -> no constraint
# 1 -> constraint +/- 1 sigma
# 2 -> fix

PARAMETER_INTEGER	P_TAIL_FIT_TAU_FLAG	DETECTOR 1-15	=	0

# tau fit (in musec)
PARAMETER_DOUBLE	P_TAIL_FIT_TAU		DETECTOR 1-15	=   250  250  250   250  250 250  250  250  250  250  250  250 

# tau fit sigma (in musec)
PARAMETER_DOUBLE	P_TAIL_FIT_TAU_SIGMA	DETECTOR 1-15	=    25    25   25    25     24    19    32    19    28    19    19    20



# _____________________________________________________
#
#              DETECTOR CONFIGURATION
#        
# _____________________________________________________
#


# ------------- detector/tower info  ---------------

DET_TOWER		DETECTOR 1-15				=	IT1
PARAMETER_INTEGER 	INDEX_IN_TOWER 		DETECTOR 1 	= 	1
PARAMETER_INTEGER 	INDEX_IN_TOWER 		DETECTOR 4 	= 	2
DET_SUBSTRATE 		DETECTOR 1-15				=	Si 


# ---------- ADC/Trigger configuration ---------

# Note:
#  sample rate, pretrigger, posttrigger are read INFO file
#   default values below are used in case file not existing

 

#  default Sample rate 

PARAMETER_DOUBLE	P_SAMPLERATE	DETECTOR 1-15	=	1.25e06
PARAMETER_DOUBLE	Q_SAMPLERATE	DETECTOR 1-15	=	2.5e06		
#PARAMETER_DOUBLE	Q_SAMPLERATE	DETECTOR 1-15	=	1.25e06		

# default Pre-trigger 

#PARAMETER_INTEGER	P_PRETRIGGER	DETECTOR 1-15	=	512 # THIS IS WRONG, outdated
#PARAMETER_INTEGER	Q_PRETRIGGER	DETECTOR 1-15	=	512			
PARAMETER_INTEGER	P_PRETRIGGER	DETECTOR 1	=	500
PARAMETER_INTEGER	Q_PRETRIGGER	DETECTOR 1	=	1000			
PARAMETER_INTEGER	P_PRETRIGGER	DETECTOR 4	=	64
PARAMETER_INTEGER	Q_PRETRIGGER	DETECTOR 4	=	64			

#  default Post-trigger 

#PARAMETER_INTEGER	Q_POSTTRIGGER	DETECTOR 1-15	=	1536		
PARAMETER_INTEGER	P_POSTTRIGGER	DETECTOR 1	=	3596
PARAMETER_INTEGER	Q_POSTTRIGGER	DETECTOR 1	=	7192			
PARAMETER_INTEGER	P_POSTTRIGGER	DETECTOR 4	=	448
PARAMETER_INTEGER	Q_POSTTRIGGER	DETECTOR 4	=	0



# bias
PARAMETER_DOUBLE 	Q_BIAS	DETECTOR 1-15		=	-4  -4  -4  4  4  4 
PARAMETER_DOUBLE 	P_BIAS	DETECTOR 1-15		=	1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4 1e-4   # in amps




# digitizer Bins per Volt at Struck 

PARAMETER_DOUBLE	P_DigitizerBinsPerVolt	DETECTOR 1-15	=	6553.6  # DCRC3 +/- 1.25V 14bit
PARAMETER_DOUBLE	Q_DigitizerBinsPerVolt	DETECTOR 1-15	=	16000 # DCRC3 AD7621 62.5uV/ADC

# R shunt

PARAMETER_DOUBLE	P_Rshunt	DETECTOR 1-15	=	20E-3

# Phonon feeback gain (=10 (input/fb turn ratio) * 1000 Ohm fb resistor)
PARAMETER_DOUBLE	P_FBgain	DETECTOR 1-15	=	10000

# Charge feedback cap = 1 pF
PARAMETER_DOUBLE	Q_CFB		DETECTOR 1-15	=	1e-12	

# Charge feedback resistor = 40 MOhms
PARAMETER_DOUBLE	Q_RFB		DETECTOR 1-15	=	40e6

# charge 1st stage gain
PARAMETER_DOUBLE	Q_Gain1		DETECTOR 1-15	=	11

# driver gains (if not set from ISR file)
PARAMETER_DOUBLE	P_DriverGain	DETECTOR 1-15	=	20 20 20 20 20 20 20 20 20 20 20 20 
PARAMETER_DOUBLE	Q_DriverGain	DETECTOR 1-15	=	2 2  2 2 2 2



# saturation value 

PARAMETER_INTEGER	P_SATURATION	DETECTOR 1-15 	=	16383 #16384
PARAMETER_INTEGER	Q_SATURATION	DETECTOR 1-15	=	32764 #65535

# minimum value 

PARAMETER_INTEGER	P_MINADC	DETECTOR 1-15 	=	0 #2
PARAMETER_INTEGER	Q_MINADC	DETECTOR 1-15	=	0 #2

# baseline 

PARAMETER_INTEGER	P_BASELINE_MIN 		DETECTOR 1-15 	=	1
PARAMETER_INTEGER	P_BASELINE_MAX 		DETECTOR 1 	=	400
PARAMETER_INTEGER	P_POSTBASELINE 		DETECTOR 1 	=	100 #for end of trace baseline
PARAMETER_INTEGER	P_BASELINE_MAX 		DETECTOR 4 	=	32
PARAMETER_INTEGER	P_POSTBASELINE 		DETECTOR 4 	=	32 #for end of trace baseline

PARAMETER_INTEGER	Q_BASELINE_MIN 		DETECTOR 1-15 	=	1
PARAMETER_INTEGER	Q_BASELINE_MAX 		DETECTOR 1-15 	=	800
PARAMETER_INTEGER	Q_POSTBASELINE 		DETECTOR 1-15 	=	100 #for end of trace baseline


# _____________________________________________________
#
#              PULSE SIMULATION
#        
# _____________________________________________________
#

#FIXME, format of these parameters could use some organization if
#this interface is to be made fully configurable

#SimPTsFlatSpec will generate from MIN_E/NORM_KEV to MAX_E/NORM_KEV
#NORM_KEV provides a rough conversion from keV to BatRoot normalizations 
#This is just an example, the user should provide his or her normalization 
#scheme may be more carefully done.

PARAMETER_DOUBLE    	SIMPTWFLATSPEC_MIN_E    DETECTOR 1-15 	= 0;   #roughly in keV
PARAMETER_DOUBLE    	SIMPTWFLATSPEC_MAX_E    DETECTOR 1-15 	= 10;  #roughly in keV

PARAMETER_DOUBLE        SIMPT_NORM_KEV          DETECTOR 1-15   = 80000000   #rough conversion from keV