#ifndef HPIDPDFMAKER_H
#define HPIDPDFMAKER_H
#include "hsudummyrec.h"
#include "TString.h"
#define MAX_NTUPLE_SIZE 200
#define NTUPLE_VARS1 "f_kick_mom_exp:f_spline_mom_exp:f_rk_mom_exp:f_kick123_mom_exp:f_reft_mom_exp:n_sector:f_mom_geant:f_track_theta:f_track_phi:f_deltatheta:f_deltaphi:n_process:b_ring:b_kicktrack:b_splinetrack:b_rktrack:b_kick123track:b_reftrack:b_segments:f_shw_sum0:f_shw_sum1:f_shw_sum2:n_shw_cs0:n_shw_cs1:n_shw_cs2:f_shw_tof:f_tof_tof:n_shw_mult:i_tracktype:i_ringtype"
#define NTUPLE_VARS2 ":n_mdc_nw0:n_mdc_nw1:n_mdc_cfl0:n_mdc_cfl1:n_mdc_cls0:n_mdc_cls1:f_mdc_chi2:n_rich_patmatrix:n_rich_npads:f_rich_centroid:f_rich_avcharge:n_rich_locmax:i_geant_pid:n_system:f_metamatch_quality:f_kick_pull:f_spline_quality:f_distance_to_vertex:f_track_r_spline:f_track_z_spline:n_medium:b_corrRingSpline:b_corrRingKick:f_vertex_zcoord:n_charge_kick:n_charge_spline:f_track_z_kick:f_track_r_kick:i_geant_corrflag:f_track_qspline:f_track_chi2_out:b_is_cp_cand:f_angle_with_cp_candidate"
#define NTUPLE_VARS3 ":f_kick_beta:f_kick123_beta:f_reft_beta:f_spline_beta:f_rk_beta:b_isdownscaled:n_tofino_mult:n_charge_rk:n_tof_clss:n_meta_cell:f_rk_quality:b_corrRingRK:f_track_r_rk:f_track_z_rk:f_kick_mass:f_kick123_mass:f_reft_mass:f_spline_mass:f_rk_mass:f_tof_leftamp:f_tof_rightamp:f_mdc_inner_dedx:f_mdc_outer_dedx:n_shw_row:n_shw_col:f_angle_to_closest_fitted_lep:f_angle_to_closest_fitted_had:f_angle_to_closest_nonfitted_lep:f_angle_to_closest_nonfitted_had"
#define NTUPLE_VARS4 ":n_lepton_candidates:n_rich_houtra:f_distance_to_vertex_kick:f_distance_to_vertex_spline:f_distance_to_vertex_rk:f_meta_rk_dx:f_meta_rk_dy:f_meta_rk_dz:f_meta_x_err:f_meta_y_err:f_meta_z_err:f_meta_x:f_meta_y:f_meta_z:f_meta_mdc_dx:f_meta_mdc_dy:f_meta_mdc_dz:f_meta_local_x:f_meta_local_y:n_tof_module:n_tof_cell:f_tof_eloss:f_rk_theta:f_rk_phi:f_rich_phi:f_rich_theta:b_corrMetaKick:b_corrMetaSpline:b_corrMetaRK:f_outer_mdc_chi2:n_rk_ind:f_mdc_combined_dedx:f_mdc_combined_dedxsigma"
class TNtuple;
class HIterator;
class HCategory;
class HPidTrackCandSim;
class HPidTrackData;
class HPidHitData;
class HPidGeantTrackSet;
class HShowerHitTof;
class HKickTrackSim;
class HRichHitSim;
class HRichGeometryPar;
class HPidPdfMaker : public HSUDummyRec{
public:
HPidPdfMaker(const Char_t *pOutFileName="ntuple_out.root",Bool_t analyseSim=kTRUE);
~HPidPdfMaker();
virtual Bool_t init(void);
virtual Int_t execute(void);
virtual Bool_t finalize(void);
Bool_t hasATrack(void);
private:
void clearMembers();
void clearArray();
Bool_t analyseSimData;
HRichGeometryPar* pRichGeometryPar;
HPidHitData* pHitData;
HPidTrackData* pTrackData;
HPidGeantTrackSet* pGeantTrackSet;
HIterator *pItTrackCand;
HPidTrackCandSim *pTrackCand;
HShowerHitTof *pShowerHitTof;
HKickTrackSim *pKickTrack;
HRichHitSim* pRichHit;
TNtuple *pNtuple;
TString sOutFileName;
Float_t aPatternInstance[MAX_NTUPLE_SIZE];
HCategory* pCatPidTrkCand;
HCategory *pCatKine;
HCategory *pCatMdcSeg;
HCategory *pCatMdcHit;
HCategory *pCatKickTrack;
Float_t getTrackType(HPidTrackCandSim* pTrackCand);
Float_t getRingType(HRichHitSim* pRichHit);
Bool_t bookRingObservables();
Bool_t bookTrackObservables();
Bool_t bookSegmentObservables();
Bool_t bookCommonObservables();
Bool_t bookVertexInformation();
void checkGeantTrackNumbers();
Bool_t getDownscalingFlag();
enum enumData{
f_kick_mom_exp,f_spline_mom_exp,f_rk_mom_exp,f_kick123_mom_exp,f_reft_mom_exp,n_sector,f_mom_geant,
f_track_theta,f_track_phi,f_deltatheta,f_deltaphi,n_process,b_ring,b_kicktrack,b_splinetrack,b_rktrack,
b_kick123track,b_reftrack,b_segments,f_shw_sum0,f_shw_sum1,f_shw_sum2,n_shw_cs0,n_shw_cs1,n_shw_cs2,
f_shw_tof,f_tof_tof,n_shw_mult,i_tracktype,i_ringtype,n_mdc_nw0,n_mdc_nw1,n_mdc_cfl0,n_mdc_cfl1,
n_mdc_cls0,n_mdc_cls1,f_mdc_chi2,n_rich_patmatrix,n_rich_npads,f_rich_centroid,f_rich_avcharge,
n_rich_locmax,i_geant_pid,n_system,f_metamatch_quality,f_kick_pull,f_spline_quality,f_distance_to_vertex,
f_track_r_spline,f_track_z_spline,n_medium,b_corrRingSpline,b_corrRingKick,f_vertex_zcoord,n_charge_kick,
n_charge_spline,f_track_z_kick,f_track_r_kick,i_geant_corrflag,f_track_qspline,f_track_chi2_out,
b_is_cp_cand,f_angle_with_cp_candidate,f_kick_beta,f_kick123_beta,f_reft_beta,f_spline_beta,
f_rk_beta,b_isdownscaled,n_tofino_mult,n_charge_rk,n_tof_clss,n_meta_cell,f_rk_quality,b_corrRingRK,
f_track_r_rk,f_track_z_rk,f_kick_mass,f_kick123_mass,f_reft_mass,f_spline_mass,f_rk_mass,f_tof_leftamp,
f_tof_rightamp,f_mdc_inner_dedx,f_mdc_outer_dedx,n_shw_row,n_shw_col,f_angle_to_closest_fitted_lep,
f_angle_to_closest_fitted_had,f_angle_to_closest_nonfitted_lep,f_angle_to_closest_nonfitted_had,
n_lepton_candidates,n_rich_houtra,f_distance_to_vertex_kick,f_distance_to_vertex_spline,
f_distance_to_vertex_rk,f_meta_rk_dx,f_meta_rk_dy,f_meta_rk_dz,f_meta_x_err,f_meta_y_err,
f_meta_z_err,f_meta_x,f_meta_y,f_meta_z,f_meta_mdc_dx,f_meta_mdc_dy,f_meta_mdc_dz,f_meta_local_x,
f_meta_local_y,n_tof_module,n_tof_cell,f_tof_eloss,f_rk_theta,f_rk_phi,f_rich_phi,f_rich_theta,
b_corrMetaKick,b_corrMetaSpline,b_corrMetaRK,f_outer_mdc_chi2,n_rk_ind,f_mdc_combined_dedx,f_mdc_combined_dedxsigma};
ClassDef(HPidPdfMaker, 0)
};
#endif /*!HPIDPDFMAKER_H*/
Last change: Sat May 22 13:07:19 2010
Last generated: 2010-05-22 13:07
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.