To include an user-defined histogram or additional calculation, you need to know the event structure. The event structure is defined in the ``main/inc/heplist.h'' include file.
// Class characterizing a particle public: HepLorentzVector p; // 4-momenta HepLorentzVector v; // vertex double mass; // mass int pos; // position in HEPEVT int id; // identity (particle data group) int charge3; // charge times 3 int status; // status of entry int mother; // mother int mother2; // point to second mother int daughter; // daughter int daughter2; // point to second daughter }; // Class characterizing a jet (under construction) class jet{ public: HepLorentzVector p; // 4-momenta int in; // number of particles in this jet }; // Event record for Monte Carlo events class heplist { public: heplist(); // constructor ~heplist(); // destructor HepLorentzVector beam1; // beam 1 int id1; // PID of this particle HepLorentzVector beam2; // beam 2 int id2; // ID of this particle HepLorentzVector boson; // Px,Py,Pz,E of exchange boson int idboson; // ID of boson HepLorentzVector lepton; // Px,Py,Pz,E of outgoing lepton(DIS) int idlepton; // ID of lepton // Information on separate particles vector<particle> PP; // vector with particles // Information on separate particles (options âstable+allâ) // contains complete HEPEVT record vector<particle> HP; // vector with particles // information on event double PTtot , PZtot,Etot; // event PT,PZ,Etot // information on jets vector<jet> PJ; // vector with jets void fill_HEPEVT(); // fill all particles from HEPEVT (stable+all option) void fill_All(); // fill all particles from HEPEVT void fill_ALLstable(); // fill stable particles from HEPEVT void fill_Partons(); // fill partons from HEPEVT void fill_CHARGEDstable(); // fill partons from HEPEVT int set_jetPtEta(); // set Pt and Eta cuts on particles int set_particlePtEta(); // set Pt and Eta cuts on jets // transformations for jets int set_jetLABtoHCMframe(); // move jets to the HCM frame int set_jetHCMtoLABframe(); // move jets to the lab from HCM frame int set_jetLABtoBREITframe(); // move jets to Breit frame int set_jetBREITtoLABframe(); // move jets to lab frame from Breit frame // for sepate particles transformation int set_particleLABtoHCMframe(); // move jets to the HCM frame int set_particleHCMtoLABframe(); // move jets to the lab from HCM frame int set_particleLABtoBREITframe(); // move jets to Breit frame int set_particleBREITtoLABframe(); // move jets to lab frame from Breit frame int set_JADEjets(); // move to the JADE jets int set_DURHAMjets(); // move to the Durham jets int set_KTjets(); // move to the KT long invariant jets };