Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New set of cuts/calibration for MuSIC@10TeV #5

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions include/DDCaloDigi_BIB.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,32 @@ class DDCaloDigi_BIB : public Processor {
float digitalEcalCalibCoeff(int layer );

float analogueEcalCalibCoeff(int layer );


float triggerThreshold(float &x, float &y, float &z, CHT::Layout &caloLayout, bool &useCrilin);
double integrationEfficiency(float &t_arrival, float &t_max, bool &useCrilin);
void GetEnergyTimeCutsCrilinBarrel(float &x, float &y, float &z, double &timeMin, double &timeMax, double &eneCut);
void GetEnergyTimeCutsCrilinEndcap(float &x, float &y, float &z, double &timeMin, double &timeMax, double &eneCut);
bool applyDifferentialThresholdEcalBIB(float &x, float &y, float &z, float &t, float &en, bool &useCrilin, CHT::Layout &caloLayout);


protected:


///> ///> NEW PARAMETERS FOR CRILIN TIME-ENERGY CUTS ========================
float _preselectionTimeCut;
std::vector<float> _crilinBarrelThresholds;
std::vector<float> _crilinEndcapThresholds;
std::vector<float> _crilinBarrelTimeMin;
std::vector<float> _crilinEndcapTimeMin;
std::vector<float> _crilinBarrelTimeMax;
std::vector<float> _crilinEndcapTimeMax;

///> NEW PARAMETERS FOR TRIGGER ========================================
float _decayConst;
float _blindTime;
std::vector<float> _crilinBarrelTrigger;
std::vector<float> _crilinEndcapTrigger;

float ecalEnergyDigi(float energy, int id0, int id1);
float ahcalEnergyDigi(float energy, int id0, int id1);
Expand Down Expand Up @@ -136,6 +160,7 @@ class DDCaloDigi_BIB : public Processor {
std::string _unitThresholdEcal = "GeV";
std::vector<float> _thresholdHcal{};
std::string _unitThresholdHcal = "GeV";


int _digitalEcal = 0;
int _mapsEcalCorrection = 0;
Expand Down Expand Up @@ -209,8 +234,7 @@ class DDCaloDigi_BIB : public Processor {
float _deadCellFractionEcal = 0.0; // fraction of random dead channels
bool _deadCellEcal_keep = false; // keep same cells dead between events?

bool _useCLIC = false; // use CLIC calorimeter
bool _useCrilin = false; // use Crilin
bool _useCrilin = false; // use Crilin Barrel

float _strip_abs_length = 1000000; // absorption length along strip for non-uniformity modeling
float _ecal_pixSpread = 0.05; // relative spread of MPPC pixel signal
Expand Down
10 changes: 10 additions & 0 deletions include/DDCaloHitCreator.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,12 @@ class DDCaloHitCreator
float m_eCalScToHadGeVBarrel; ///< The calibration from deposited Sc-layer energy on the endcaps to hadronic energy
float m_eCalSiToHadGeVEndCap; ///< The calibration from deposited Si-layer energy on the enecaps to hadronic energy
float m_eCalScToHadGeVEndCap; ///< The calibration from deposited Sc-layer energy on the endcaps to hadronic energy


/// LEOP == HIT ENERGY OFFSET SUBTRACTION BY ECAL REGION (SAME ORG AS CALODIGI_BIB)
/// It works for a 6-layers CRILIN ECal, the geometry is hardcoded
FloatVector m_crilinBarrelOffsets;
FloatVector m_crilinEndcapOffsets;


///ADDED BY NIKIFOROS
Expand Down Expand Up @@ -252,6 +258,10 @@ class DDCaloHitCreator

dd4hep::VolumeManager m_volumeManager; ///< DD4hep volume manager

///LEOP == function to subtract energy offset inCRIILIN ECal
float GetOffsetCrilinBarrel(float &x, float &y, float &z);
float GetOffsetCrilinEndcap(float &x, float &y, float &z);
float SubtractedEnergy(float x, float y, float z, float en, bool useEndcap);
};

//------------------------------------------------------------------------------------------------------------------------------------------
Expand Down
Loading
Loading