Difference between revisions of "Reading LUND files"

From New IAC Wiki
Jump to navigation Jump to search
(Replaced content with " Testing the LUND files by reading them back and transforming to the Center of Mass frame of reference:")
Line 1: Line 1:
<pre>
 
#include <math.h>
 
#include <TRandom3.h>
 
 
void ReadLUND()
 
{
 
        struct evt_t
 
        {
 
                Int_t event;
 
                Float_t FnlMom[3], MolMom[3];
 
                Float_t dontcare[10];
 
                Float_t stilldontcare[14];
 
                Float_t Px,Py,Pz,E,M,X,Y,Z;
 
                Float_t px,py,pz,e,m,x,y,z;
 
        };
 
 
        ifstream in;
 
        in.open("LUND_spread.LUND");
 
        evt_t evt;
 
        Int_t nlines=0;
 
 
        TLorentzVector Fnl_e_Lab_4Mom;
 
        TLorentzVector Fnl_Mol_Lab_4Mom;
 
        TLorentzVector Fnl_e_CM_4Mom;
 
        TLorentzVector Mol_CM_4Mom;
 
        TLorentzVector CMS;
 
 
 
        TFile *f = new TFile("CheckLUND_1.root","RECREATE");
 
        TTree *tree = new TTree("Moller","Moller data from ascii file");
 
        while(in.good())
 
        {
 
                evt.event=nlines;
 
                in >> evt.dontcare[0] >> evt.dontcare[1] >> evt.dontcare[2] >> evt.dontcare[3] >> evt.dontcare[4] >> evt.dontcare[5] >> evt.dontcare[6]                       
 
                        >> evt.dontcare[7] >> evt.dontcare[8] >> evt.dontcare[9] ;
 
 
 
   
 
   
                nlines++;
 
       
 
                in >> evt.stilldontcare[0] >> evt.stilldontcare[1] >> evt.stilldontcare[2] >> evt.stilldontcare[3] >> evt.stilldontcare[4]
 
                        >> evt.stilldontcare[5] >> evt.Px >> evt.Py >> evt.Pz >> evt.E >> evt.M >> evt.X >> evt.Y >> evt.Z;
 
               
 
                nlines++;
 
               
 
                in >> evt.stilldontcare[6] >> evt.stilldontcare[7] >> evt.stilldontcare[8] >> evt.stilldontcare[9] >> evt.stilldontcare[10]
 
                        >> evt.stilldontcare[11] >> evt.px >> evt.py >> evt.pz >> evt.e >> evt.m >> evt.x >> evt.y >> evt.z;
 
 
                nlines++;
 
                tree->Fill();
 
       
 
                //Define using Final Moller momentum
 
 
                        //Define 4 vector
 
                                Fnl_Mol_Lab_4Mom.SetPxPyPzE(evt.px,evt.py,evt.pz,evt.e);
 
       
 
       
 
                //Find 4 Momentum vector componets for Final Lab frame scattered electron
 
                        //Define 4vector
 
 
                                Fnl_e_Lab_4Mom.SetPxPyPzE(evt.Px,evt.Py,evt.Pz,evt.E);
 
       
 
  
                        //Fill Final Lab Histograms
+
Testing the LUND files by reading them back and transforming to the Center of Mass frame of reference:
                                        MolMomLab->Fill(Fnl_Mol_Lab_4Mom.P(),evt.dontcare[5]);
 
                                        MolThetaLab->Fill(Fnl_Mol_Lab_4Mom.Theta()*180/3.14159265359,evt.dontcare[5]);
 
       
 
       
 
                        //Boost vectors
 
                                CMS=Fnl_e_Lab_4Mom+Fnl_Mol_Lab_4Mom;
 
                        //Boost to CM Frame
 
                                Fnl_e_Lab_4Mom.Boost(-CMS.BoostVector());
 
                                Fnl_Mol_Lab_4Mom.Boost(-CMS.BoostVector());
 
       
 
                        //Write to 1D final CM histograms
 
                                        MolMomCM->Fill(Fnl_Mol_Lab_4Mom.P(),evt.dontcare[5]);
 
                                        MolThetaCM->Fill(Fnl_Mol_Lab_4Mom.Theta()*180/3.14159265359,evt.dontcare[5]);
 
       
 
       
 
       
 
                }//End input loop
 
       
 
        in.close();
 
        tree->Print();
 
        tree->Write();
 
        f->Write();       
 
        delete tree;
 
        delete f;
 
}//End main
 
</pre>
 

Revision as of 16:11, 2 June 2016


Testing the LUND files by reading them back and transforming to the Center of Mass frame of reference: