Skip to content
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

Fiducial variation #165

Open
jtenavidal opened this issue Feb 23, 2024 · 10 comments
Open

Fiducial variation #165

jtenavidal opened this issue Feb 23, 2024 · 10 comments
Assignees

Comments

@jtenavidal
Copy link
Member

Bool_t GetEPhiLimits(double beam_en, Float_t momentum, Float_t theta, Int_t sector,Float_t *EPhiMin, Float_t *EPhiMax);
    Bool_t EFiducialCut(double beam_en, TVector3 momentum);
    Bool_t PFiducialCut(double beam_en, TVector3 momentum);
    Bool_t PiplFiducialCut(double beam_en, TVector3 momentum,Float_t *philow,Float_t *phiup);
    Bool_t PimiFiducialCut(double beam_en, TVector3 momentum, Float_t *pimi_philow, Float_t *pimi_phiup);

PiplFiducialCut returns philow, and phiup. We can apply a variation there and see if it is still in fiducial

For electron we use GetEPhiLimits

We can add this as a new function with default 0 variation

@jtenavidal jtenavidal self-assigned this Feb 23, 2024
@jtenavidal
Copy link
Member Author

jtenavidal commented Feb 29, 2024

  • Add on Configuration, Phi/Theta Shift for fiducial. It has to get a number from it
    Uploading image.png…

  • From the shift, need to add a function in Fiducial to check if it is in the fiducial after the shift

  • Add shift info in output file name if it is not 0

@jtenavidal
Copy link
Member Author

Angle shift was already included:

    } else if ( param[i] == "SystFidAngleShift" ) {
      fFidAngleShift = stod(value[i]) ;
    }

@jtenavidal
Copy link
Member Author

bool GetFidAngleShift(void) { return fFidAngleShift; }

@jtenavidal
Copy link
Member Author

EDIT THIS AND ADD IN CODE:
`Bool_t Fiducial::GetFiducialCut(unsigned int pdg, double beam_en, TVector3 momentum, double shift = 0){

bool in_fid = false ;
if( pdg == conf::kPdgElectron ) in_fid = Fiducial::EFiducialCut( beam_en, momentum);
if( pdg == conf::kPdgProton ) in_fid = PFiducialCut( beam_en, momentum ) ;
if( pdg == conf::kPdgPim ) in_fid = PimiFiducialCut( beam_en, momentum ) ;
if( pdg == conf::kPdgPip ) in_fid
return in_fid ;
/* Bool_t PFiducialCut(double beam_en, TVector3 momentum);
Bool_t PiplFiducialCut(double beam_en, TVector3 momentum,Float_t *philow,Float_t *phiup);
Bool_t PimiFiducialCut(double beam_en, TVector3 momentum, Float_t *pimi_philow, Float_t pimi_phiup);
bool Phot_fid(TVector3 V3_phot);
bool Pi_phot_fid_united(double beam_en, TVector3 V3_pi_phot, int q_pi_phot);
/
}
`

@jtenavidal
Copy link
Member Author

Configured correctly:
image

@jtenavidal
Copy link
Member Author

jtenavidal commented Mar 4, 2024

2GeV
image
Still breaks sometimes but at least calcualted sometimes

4GeV No message

@jtenavidal
Copy link
Member Author

@jtenavidal
Copy link
Member Author

Change approach. Change each particle Phi

For a given sector, increase/decrease particle phy to decrease/increase acceptance. Need to understand how it will affect particle

@jtenavidal
Copy link
Member Author

image

@jtenavidal
Copy link
Member Author

I also changed the background code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant