Closed yipengsun closed 2 years ago
Here's Phoebe's calculation for the q2 weights:
double Dpipialtweightp = 1;
double Dpipialtweightm = 1;
double Dpipialtweightqp = 1;
double Dpipialtweightqm = 1;
double Dpipialtweight_hlp = 1;
double Dpipialtweight_hlm = 1;
double Dpipialtweight_hqp = 1;
double Dpipialtweight_hqm = 1;
if (isData == 0. && (flagBmu > 0.) && JustDst < 1. && (ishigher) && muPID == 1.)
{
Dpipialtweightp = (1+2*(((q2tD-105*105)/8e6)-0.5));
Dpipialtweightm = (1-2*(((q2tD-105*105)/8e6)-0.5));
Dpipialtweightqp = (0+8*(((q2tD-105*105)/8e6)-0.5)*(((q2tD-105*105)/8e6)-0.5));
Dpipialtweightqm = (2-8*(((q2tD-105*105)/8e6)-0.5)*(((q2tD-105*105)/8e6)-0.5));
if(higherD0hel > 0) // this is NEVER true.
{
Dpipialtweight_hlp = (1+(cos(higherD0hel)));
Dpipialtweight_hlm = (1-(cos(higherD0hel)));
Dpipialtweight_hqp = (1+(cos(higherD0hel))*(cos(higherD0hel)));
Dpipialtweight_hqm = (1-(cos(higherD0hel))*(cos(higherD0hel)));
}
}
and the q2tD
variable is defined as:
Tmup.SetXYZT(muplus_TRUEP_X, muplus_TRUEP_Y, muplus_TRUEP_Z, muplus_TRUEP_E);
Tmunup.SetXYZT(muplus_MC_NU_TRUEP_X, muplus_MC_NU_TRUEP_Y, muplus_MC_NU_TRUEP_Z, muplus_MC_NU_TRUEP_E);
q2tD=-1;
q2tD = (Tmunup+Tmup).M2();
if (TMath::IsNaN(q2tD)) q2tD=-1;
We don't have the MC_NU_TRUEP
branches. But we should have equivalent branches.
The q2tD
is just q2_true
in this case, and we already have this variable.
The fit converged w/ these template substituted. Closed for now. Will reopen if any new problem arises.
Phoebe uses these templates for that generic $D^{**}$ process:
h_D2S
h_Dstzpipimu
h_Dstppipimu
h_Dpipimu
Each of these templates contain 1
HistoSys
with an suffix of eitherq2lm/q2lp
orq2m/q2p
. We need to figure out how these variations are defined.