-
Notifications
You must be signed in to change notification settings - Fork 9
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
Kinematic fit over constrained in fitted pi0 channels? #733
Comments
Using Andrews code and running over 10 files then look at the two histogram the code snippet: Note that there is NO cut on unused energy so all events with at least 2 photons will contribute. |
Definitely looks wonky. Maybe the interplay between mass constrained pi0 and missing proton is some edge case we haven't encountered before? Like maybe it forgets that a missing proton can still be mass constrained, and this somehow leaks into the calculation of gamma1 and gamma2. Maybe checking the hd_root.root folders with kinfit info or some sanity checks calculating the same quantity different ways will turn something up.... |
I'll see if I have some time to look into this in the near future, but let me suggest you redo the fits with the "F1" option, which only imposes the 4-momentum constraints, and removes the vertex constraint from the fit - since there's no charged particle in the final state, there's no possible measurement of the vertex position, so that could be confounding the fit. As a note, for the gp -> pi0 (p) fit, this should then be a 2C fit - one constraint for the pi0 mass in pi0 -> gg, and 1 constraint for the missing mass in the reaction being consistent with that of the proton. If the F1 fits still show a problem, the next step would be to look at these constraints and make sure they are not beating against each other in some strange way. |
One more thing to consider as a general analysis strategy: using a mass constraint on the pi0s in these channels means you will not be able to evaluate the non-pi0 background. So unless there is no non-pi0 background or you have some other way of estimating it, I would suggest you also consider the F1 and M7 fit options together to have 1 constraint on the missing mass being consistent with the proton, but allowing you to study the non-pi0 background. |
I'm looking at events from the gp->pi0(p) and gp->pi0 pi0 (p) reaction filters from the 2017 run period. The ROOT trees I'm running over are located at
/cache/halld/RunPeriod-2017-01/analysis/ver62/tree_pi0missprot__B2/
and
/cache/halld/RunPeriod-2017-01/analysis/ver62/tree_pi0pi0missprot__B2/
My intuition tells me that the kin fit momenta of the two photons summed together should match the DecayingPi0 kin fit momentum--instead I see a large discrepancy. This occurs in both the single pi0 and double pi0 channels.
Apologies for non-consistent color scheme--the plots came from two different students.
Is this a bug? I'm just using the auto-generated DSelector code to pull out the momentum vectors and histogram them.
Example DSelector here: /work/halld/home/shong/channels/pi0missprot/BasicRunScripts/DSelector_pi0missprot.C
e.g. for top plot
RED:
TLorentzVector locPhoton1P4 = dPhoton1Wrapper->Get_P4();
TLorentzVector locPhoton2P4 = dPhoton2Wrapper->Get_P4();
double W2Photon = (locPhoton1P4 + locPhoton2P4).Mag();
BLUE:
TLorentzVector locDecayingPi0P4 = dDecayingPi0Wrapper->Get_P4();
double WDecayingPi0 = (locDecayingPi0P4).Mag()
BLACK:
TLorentzVector locPhoton1P4_Measured = dPhoton1Wrapper->Get_P4_Measured();
TLorentzVector locPhoton2P4_Measured = dPhoton2Wrapper->Get_P4_Measured();
double W2Photon_meas = (locPhoton1P4_Measured + locPhoton2P4_Measured).Mag();
With regards to the issue in the double pi0 channel maybe being caused by a user error in pairing the photons, here is the auto generated DSelector code which I think is pretty suggestive as to which photons has which pi0 as a parent particle:
The text was updated successfully, but these errors were encountered: