[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