#ifndef HRICHSELECTOR_H
#define HRICHSELECTOR_H
#include "hreconstructor.h"
#include "TTree.h"
#include "TNtuple.h"
#include "TFile.h"
class HCategory;
class HIterator;
class HHitMatch;
class HDiHitMatch;
class HHitMatchSim;
class HDiHitMatchSim;
class HTrackInfo;
class HRichSelector : public HReconstructor {
public:
HRichSelector();
HRichSelector(const Text_t *name,const Text_t *title,const Char_t *swt,const Char_t *kevtType );
~HRichSelector();
Bool_t init();
Bool_t finalize();
Int_t execute();
ClassDef(HRichSelector,1)
private:
HCategory* pHitMatchCat;
HIterator* pHitMatchIter;
HCategory* pDiHitMatchCat;
HIterator* pDiHitMatchIter;
Int_t nEvtsProcessed;
TString *pFileName;
Bool_t evtType;
struct TrackE {
Float_t recCorr;
Float_t single;
Float_t Double;
Float_t pid;
Float_t verx;
Float_t very;
Float_t verz;
Float_t goodCorr;
Float_t goodRing;
Float_t goodShower;
Float_t goodBetaMom;
Float_t recCharge;
Float_t chi2fit;
Float_t avgChrg;
Float_t patmat;
Float_t nrpads;
Float_t ampl;
Float_t centr;
Float_t mom;
Float_t tof;
Float_t beta;
Float_t sec;
Float_t ktheta;
Float_t kphi;
Float_t rtheta;
Float_t rphi;
Float_t metatheta;
Float_t metaphi;
Float_t sys;
};
struct TrackS {
Float_t truetrack;
Float_t fake;
Float_t recCorr;
Float_t single;
Float_t Double;
Float_t nbpart;
Float_t pid1;
Float_t corr1;
Float_t orig1;
Float_t cpid1;
Float_t ctrk1;
Float_t mech1;
Float_t med1;
Float_t gmom1;
Float_t verx1;
Float_t very1;
Float_t verz1;
Float_t pid2;
Float_t corr2;
Float_t orig2;
Float_t cpid2;
Float_t ctrk2;
Float_t mech2;
Float_t med2;
Float_t gmom2;
Float_t verx2;
Float_t very2;
Float_t verz2;
Float_t goodCorr;
Float_t goodRing;
Float_t goodShower;
Float_t goodBetaMom;
Float_t recCharge;
Float_t chi2fit;
Float_t avgChrg;
Float_t patmat;
Float_t nrpads;
Float_t ampl;
Float_t centr;
Float_t mom;
Float_t tof;
Float_t beta;
Float_t sec;
Float_t ktheta;
Float_t kphi;
Float_t metatheta;
Float_t metaphi;
Float_t sys;
};
struct PairE {
Float_t mass;
Float_t opang;
Float_t nbDmdc;
Float_t nbDrich;
Float_t nbDmeta;
Float_t goodPair;
Float_t charge;
Float_t betadiff;
Float_t tofdiff;
Float_t rap;
Float_t pt;
};
struct PairS {
Float_t mass;
Float_t opang;
Float_t nbDmdc;
Float_t nbDrich;
Float_t nbDmeta;
Float_t goodPair;
Float_t recCharge;
Float_t betadiff;
Float_t tofdiff;
Float_t orig;
Float_t truepair;
Float_t fake;
Float_t faketype;
Float_t med;
Float_t charge;
Float_t rap;
Float_t pt;
};
TFile *pFileOut;
TTree *outTreeTracksRings;
TTree *outTreePairsTracksRings;
TTree *outTreeTracks;
TTree *outTreePairs;
TTree *outTreePairsTracks;
TNtuple* outNtupleS;
TNtuple* outNtuplePairsS;
TNtuple* outNtupleE;
TNtuple* outNtuplePairsE;
HHitMatch *track;
HHitMatchSim *tracksim;
HDiHitMatch *pair;
HDiHitMatchSim *pairsim;
void classifyTrackS(HHitMatchSim*,TrackS&);
void resetTrackS(TrackS&);
void resetPairS(PairS&);
void classifyTrackE(HHitMatch*,TrackE&);
void resetTrackE(TrackE&);
void resetPairE(PairE&);
Int_t getSingleParticleIndexFromTrackInfo(HTrackInfo*);
Float_t getMaxRichWeight(HTrackInfo*);
Float_t getMaxMdcWeight(HTrackInfo*);
Bool_t isGoodPair(HDiHitMatch*);
Bool_t isGoodPairWithGoodTracks(HDiHitMatch*);
Bool_t isGoodTrack(HHitMatch*);
Bool_t isGoodRing(HHitMatch*);
Bool_t isBetaMom3s(HHitMatch*);
Bool_t isGoodShower(HHitMatch*);
Bool_t isGoodCorrelation(HHitMatch*);
Bool_t isSingleTrack(HHitMatchSim*);
UInt_t getDownscalingFlag();
UInt_t getDownscaling();
UInt_t getTriggerDecision();
UInt_t getSeqNumber();
Int_t getRecCorrCode(HHitMatch*);
HHitMatch* get1stTrackE(HDiHitMatch*);
HHitMatch* get2ndTrackE(HDiHitMatch*);
HHitMatchSim* get1stTrackS(HDiHitMatchSim*);
HHitMatchSim* get2ndTrackS(HDiHitMatchSim*);
Bool_t fillTrackNtupleS();
Bool_t fillNtupleS(HHitMatchSim*);
Bool_t fillTrackNtupleE();
Bool_t fillNtupleE(HHitMatch*);
Bool_t fillPairNtupleS();
Bool_t fillNtuplePairS(HDiHitMatchSim*);
Bool_t fillPairNtupleE();
Bool_t fillNtuplePairE(HDiHitMatch*);
Bool_t selectTracksE();
Bool_t selectTracksS();
Bool_t selectPairsE();
Bool_t selectPairsS();
Bool_t selectRingsInTracksE();
Bool_t selectRingsInTracksS();
Bool_t selectRingsInTracksInPairsE();
Bool_t selectRingsInTracksInPairsS();
Bool_t selectTracksInPairsE();
Bool_t selectTracksInPairsS();
};
#endif // HRICHSELECTOR_H
Last change: Sat May 22 13:10:02 2010
Last generated: 2010-05-22 13:10
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.