[Clas12_verystrange] My photon definition
Eugene Pasyuk
pasyuk at jlab.org
Thu May 17 11:33:23 EDT 2018
Mike,
If you do not apply cut on beta some of what you call "photons" are neutrons.
-Eugene
----- Original Message -----
> From: "Michael Dugger" <dugger at jlab.org>
> To: "clas12 verystrange" <clas12_verystrange at jlab.org>
> Sent: Thursday, May 17, 2018 9:27:53 AM
> Subject: [Clas12_verystrange] My photon definition
> 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
> _______________________________________________
> Clas12_verystrange mailing list
> Clas12_verystrange at jlab.org
> https://mailman.jlab.org/mailman/listinfo/clas12_verystrange
More information about the Clas12_verystrange
mailing list