[Clas12_verystrange] My photon definition
Michael Dugger
dugger at jlab.org
Thu May 17 09:27:53 EDT 2018
Hi,
During the meeting yesterday, I was asked for information regarding how I
define my photons.
Sorry not to get this out yesterday but that was kind of a crazy day for
me.
Here is how I define my photons:
//First I grab values from REC_Particle:
for (int j=0;j<nREC;j++){
mPart_t mPartTmp;
int pidTmp = mcTree.REC_Particle_pid->at(j);
double pxTmp = mcTree.REC_Particle_px->at(j);
double pyTmp = mcTree.REC_Particle_py->at(j);
double pzTmp = mcTree.REC_Particle_pz->at(j);
double pTmp = sqrt(pow(pxTmp,2)+pow(pyTmp,2)+pow(pzTmp,2));
double eTmp = 0.0;
int charge = mcTree.REC_Particle_charge->at(j);
//Then I simply take all charge = 0 particles and call those photons
//and reset the energy and make a 100 MeV cut:
if (charge == 0){
double moVal = mPartTmp.momentum.P();
mPartTmp.momentum.SetE(moVal);
if (moVal > 0.1) mPartPho.push_back(mPartTmp);
}
//For the case of 2 photons I make an additional cut (for now):
int nPho = mPartPho.size();
//Define pho2Cut. If pho2Cut = true then these are not used
bool pho2Cut = true;
//Define the four vector of the 2 photon system and get the
//opening angle between them
if (nPho == 2) {
TLorentzVector mo2Pho = mPartPho[0].momentum + mPartPho[1].momentum;
TVector3
vec1(mPartPho[0].momentum.Px(),mPartPho[0].momentum.Py(),mPartPho[0].momentum.Pz());
TVector3
vec2(mPartPho[1].momentum.Px(),mPartPho[1].momentum.Py(),mPartPho[1].momentum.Pz());
double angleVal = vec1.Angle(vec2)*180.0/3.14159;
//Then define the line for the cut
double xa1 = 1.0, xa2 = 61.0, ya1 = 0.0, ya2 = 1.0;
double deltaAX = xa2 - xa1;
double deltaAY = ya2 - ya1;
double mValA = deltaAY/deltaAX;
double bValA = ya1 - mValA*xa1;
//Make the cut
double yValA = mValA*angleVal + bValA;
if (mo2Pho.Mag() < yValA) pho2Cut = false;
Take care,
Michael
More information about the Clas12_verystrange
mailing list