9#include <cdc/modules/cdcJobCntlParModifier/CDCJobCntlParModifierModule.h>
19 m_gcp(
CDCGeoControlPar::getInstance()), m_timeWalk(), m_wireSag(), m_modLeftRightFlag(), m_debug4Sim(), m_thresholdEnergyDeposit(),
20 m_minTrackLength(), m_addFudgeFactorForSigmaForData(), m_addFudgeFactorForSigmaForMC(),
21 m_mapperGeometry(), m_mapperPhiAngle(), m_debug4Geo(), m_printMaterialTable(),
22 m_materialDefinitionMode(), m_senseWireZposMode(),
26 m_displacementInputType(), m_alignmentInputType(), m_misalignmentInputType(), m_xtInputType(), m_sigmaInputType(),
27 m_propSpeedInputType(), m_t0InputType(), m_twInputType(), m_bwInputType(), m_chMapInputType(), m_eDepToADCInputType(),
29 m_alignmentFile(), m_misalignmentFile(), m_xtFile(), m_sigmaFile(), m_propSpeedFile(), m_t0File(), m_twFile(), m_bwFile(),
30 m_chMapFile(), m_eDepToADCFile()
35 setDescription(
"Change job contorol parameters. Please put this module in the path (before Geometry module) with specified input parameters when you want to change them.");
44 "Switch on/off time-walk correction in the TDC-count translator for MC events. Use the CDCDigitizer's flag if you want to add/not add time walk in digitization.",
48 "Switch on/off sense wire (gravitational) sag in FullSim. Here, sag means the main part which corresponds to design+displacement in case of wire position. You can control the perturbative part (corresponting to (mis)alignment in case of wire-position) of sag in Digitizer.",
54 "Energy deposite (edep) thresh. for G4 step (GeV). All hits with smaller edep will be dropped at FullSim level. Set this to a negative value if you want to keep simhits with edep=0.",
58 "Minimum track length (cm) required for saving in MCParticle.; to be applied to all particles other than primaries and decay-daughters.",
66 "Switch on/off printing the G4 material table at the stage of CDC geometry creation.",
false);
69 "Material definition mode: =0: define a mixture of gases and wires in the entire tracking volume; =1: dummy; =2: define all sense and field wires explicitly in the volume.",
73 "Sense wire z position mode: =1: correct for feedthrough effect; =0: not correct.", 1);
92 addParam(
"XtInputType",
m_xtInputType,
"Input type for xt-relations; db-object (true); text-file (false).",
true);
98 addParam(
"T0InputType",
m_t0InputType,
"Input type for t0s; db-object (true); text-file (false).",
true);
100 addParam(
"TimeWalkInputType",
m_twInputType,
"Input type for time walks; db-object (true); text-file (false).",
true);
102 addParam(
"BadWireInputType",
m_bwInputType,
"Input type for bad wires; db-object (true); text-file (false).",
true);
104 addParam(
"ChannelMapInputType",
m_chMapInputType,
"Input type for channel map; db-object (true); text-file (false).",
true);
111 string(
"displacement_v2.2.1.dat"));
113 addParam(
"AlignmentFile",
m_alignmentFile,
"Input file name (on cdc/data) for wire alignment.",
string(
"alignment_v2.dat"));
118 addParam(
"XtFile",
m_xtFile,
"Input file name (on cdc/data) for xt-relations. You can specify either an uncompressed or gzip file.",
119 string(
"xt_v3_chebyshev.dat.gz"));
121 addParam(
"SigmaFile",
m_sigmaFile,
"Input file name (on cdc/data) for sigmas.",
string(
"sigma_v2.dat"));
123 addParam(
"PropSpeedFile",
m_propSpeedFile,
"Input file name (on cdc/data) for prop-speeds.",
string(
"propspeed_v0.dat"));
125 addParam(
"T0File",
m_t0File,
"Input file name (on cdc/data) for t0s.",
string(
"t0_v1.dat"));
127 addParam(
"TimeWalkFile",
m_twFile,
"Input file name (on cdc/data) for time walks.",
string(
"tw_off.dat"));
129 addParam(
"BadWireFile",
m_bwFile,
"Input file name (on cdc/data) for bad wires.",
string(
"badwire_v1.dat"));
131 addParam(
"ChannelMapFile",
m_chMapFile,
"Input file name (on cdc/data) for channel map.",
string(
"ch_map.dat"));
133 addParam(
"EDepToADCFile",
m_eDepToADCFile,
"Input file name (on cdc/data) for edep-to-adc.",
string(
"edeptoadc.dat"));
137 "Additional fudge factor for space resol. used in real data event reconstruction (common to all cells).",
142 "Additional fudge factor for space resol. used in MC event reconstruction (common to all cells). N.B. This factor is not applied in digitization; only applied in reconstruction. Pplease set the fudge parameter of digitizer instead if you want to change the digitization sigma indep. of sigma used in reconstruction.",
146 addParam(
"MapperGeometry",
m_mapperGeometry,
"Define B-field mapper geometry used in GCR in 2017 summer. Tentative option.",
150 addParam(
"MapperPhiAngle",
m_mapperPhiAngle,
"Phi-angle (deg.) of B-field mapper used in GCR in 2017 summer. Tentative option.",
int m_materialDefinitionMode
Material definition mode.
bool m_timeWalk
Switch for time walk in translator.
bool m_chMapInputType
Channel map input type.
bool m_alignment
Switch for alignment.
std::string m_displacementFile
Displacement file.
double m_addFudgeFactorForSigmaForMC
Additional fudge factor for space resol.
bool m_wireSag
Switch for sense wire sag.
bool m_alignmentInputType
Alignment input type.
std::string m_chMapFile
Channel map file.
void initialize() override
Initialize.
double m_minTrackLength
Minimum track length for G4 step (cm)
double m_addFudgeFactorForSigmaForData
Additional fudge factor for space resol.
void event() override
Actual digitization of all hits in the CDC.
bool m_displacementInputType
Displacement input type.
bool m_bwInputType
Bad wire input type.
std::string m_misalignmentFile
Misalignment file.
bool m_xtInputType
Xt input type.
bool m_debug4Sim
Switch for debug printing.
bool m_eDepToADCInputType
EDep-to-adc input type.
std::string m_eDepToADCFile
EDep-to-adc file.
bool m_displacement
Switch for displacement.
bool m_printMaterialTable
Switch for printing the G4 material table.
std::string m_twFile
Time walk file.
std::string m_propSpeedFile
Prop-apeed file.
std::string m_sigmaFile
Sigma file.
std::string m_bwFile
Bad wire file.
bool m_misalignmentInputType
Misalignment input type.
CDC::CDCGeoControlPar & m_gcp
Reference to CDCGeo...
std::string m_t0File
T0 file.
std::string m_alignmentFile
Alignment file.
bool m_propSpeedInputType
Prop-apeed input type.
bool m_misalignment
Switch for misalignment.
bool m_mapperGeometry
Mapper geometry flag.
double m_thresholdEnergyDeposit
Energy thresh.
double m_mapperPhiAngle
Mapper phi-angle(deg).
bool m_t0InputType
T0 input type.
bool m_debug4Geo
Switch for debug printing.
bool m_twInputType
Time walk input type.
int m_senseWireZposMode
Sense wire Z pos.
std::string m_xtFile
Xt file.
bool m_sigmaInputType
Sigma input type.
bool m_modLeftRightFlag
Switch for modified left/right flag.
CDCJobCntlParModifierModule()
Constructor.
CDC::CDCSimControlPar & m_scp
Reference to CDCSim...
The Class for CDC Geometry Control Parameters.
void setPropSpeedFile(const std::string &input)
Set input file name for prop-speed.
bool getDebug() const
Get debug flag.
bool getSigmaInputType()
Get input type for sigma.
bool getPrintMaterialTable() const
Get printMaterialTable flag.
bool getMisalignmentInputType()
Get input type for wire misalignment.
void setBwInputType(bool input)
Set input type for bad wire.
void setXtFile(const std::string &input)
Set input file name for xt-relation.
std::string getT0File() const
Get input file name for t0.
void setSenseWireZposMode(int input)
Set sense wire zpos mode.
bool getDisplacementInputType()
Get input type for wire displacement.
void setPrintMaterialTable(bool onoff)
Set printMaterialTable flag.
void setDebug(bool onoff)
Set debug flag.
void setChMapFile(const std::string &input)
Set input file name for channel map.
double getAddFudgeFactorForSigmaForMC() const
Get additional fudge factor for space resol for MC.
std::string getEDepToADCFile() const
Get input file name for edeptoadc.
void setXtInputType(bool input)
Set input type for xt.
std::string getDisplacementFile() const
Get input file name for wire displacement.
void setT0InputType(bool input)
Set input type for t0.
std::string getMisalignmentFile() const
Get input file name for wire misalignment.
void setMaterialDefinitionMode(int input)
Set material defition mode.
std::string getAlignmentFile() const
Get input file name for wire alignment.
void setMapperGeometry(bool torf)
Set mapper geometry flag.
bool getAlignmentInputType()
Get input type for wire alignment.
void setAlignmentInputType(bool input)
Set input type for wire alignment.
double getMaterialDefinitionMode() const
Get material definition mode.
std::string getPropSpeedFile() const
Get input file name for prop-speed.
void setTwFile(const std::string &input)
Set input file name for time-walk.
bool getT0InputType()
Get input type for t0.
bool getEDepToADCInputType()
Get input type for edeptoadc.
void setAddFudgeFactorForSigmaForData(double input)
Set additional fudge factor for space resol.
std::string getSigmaFile() const
Get input file name for sigma.
void setMapperPhiAngle(double phi)
Set mapper phi-angle (deg.)
bool getAlignment() const
Get alignment switch.
void setSigmaFile(const std::string &input)
Set input file name for sigma.
void setTwInputType(bool input)
Set input type for time-walk.
void setMisalignmentFile(const std::string &input)
Set input file name for wire misalignment.
bool getMisalignment() const
Get misalignment switch.
void setAlignmentFile(const std::string &input)
Set input file name for wire alignment.
void setAddFudgeFactorForSigmaForMC(double input)
Set additional fudge factor for space resol.
void setMisalignment(bool input)
Set misalignment switch.
bool getDisplacement() const
Get displacement switch.
void setDisplacement(bool input)
Set displacement switch.
void setT0File(const std::string &input)
Set input file name for t0.
void setDisplacementInputType(bool input)
Set input type for wire displacement.
void setEDepToADCFile(const std::string &input)
Set input file name for edep-to-adc.
bool getMapperGeometry()
Get mapper geometry flag.
int getSenseWireZposMode() const
Get sense wire z position mode.
double getAddFudgeFactorForSigmaForData() const
Get additional fudge factor for space resol for data.
std::string getXtFile() const
Get input file name for xt-relation.
double getMapperPhiAngle()
Get mapper phi-angle.
void setEDepToADCInputType(bool input)
Set input type for edep-to-adc.
bool getTwInputType()
Get input type for time-walk.
std::string getBwFile() const
Get input file name for badwire.
void setMisalignmentInputType(bool input)
Set input type for wire misalignment.
void setSigmaInputType(bool input)
Set input type for sigma.
bool getChMapInputType()
Get input type for channel map.
void setDisplacementFile(const std::string &input)
Set input file name for wire displacement.
std::string getTwFile() const
Get input file name for time-walk.
bool getXtInputType()
Get input type for xt.
bool getBwInputType()
Get input type for bad wire.
bool getPropSpeedInputType()
Get input type for prop.
void setAlignment(bool input)
Set alignment switch.
void setPropSpeedInputType(bool input)
Set input type for prop.
void setChMapInputType(bool input)
Set input type for channel map.
std::string getChMapFile() const
Get input file name for channel map.
void setBwFile(const std::string &input)
Set input file name for bad wire.
The Class for CDC Simulation Control Parameters.
bool getDebug() const
Get debug flag.
bool getModLeftRightFlag() const
Get modified left/right flag.
void setWireSag(bool onoff)
Set wiresag flag.
void setDebug(bool onoff)
Set debug flag.
double getMinTrackLength() const
Get minimum track length.
void setMinTrackLength(double input)
Set minimum track length.
double getThresholdEnergyDeposit() const
Get threshold for Energy Deposit;.
bool getWireSag() const
Get wiresag flag.
void setThresholdEnergyDeposit(double input)
Set threshold for Energy Deposit;.
void setTimeWalk(bool onoff)
Set time-walk flag.
void setModLeftRightFlag(bool onoff)
Set modified left/right flag.
bool getTimeWalk() const
Get time-walk flag.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.