FairRoot/PandaRoot
Functions | Variables
reco_muo.C File Reference

Go to the source code of this file.

Functions

t AddFriend ("pndsim","points_combi.root")
 
t SetBranchAddress ("MdtTrk",&trk_array)
 
t SetBranchAddress ("MdtHit",&hit_array)
 
t SetBranchAddress ("MdtPoint",&point_array)
 
t SetBranchAddress ("MCTrack",&mc_array)
 
TVector3 pos (0., 0., 0.)
 
mdtHit Position (pos)
 
 if (layer==8)
 
nHit Write ()
 
out Save ()
 

Variables

TFile * f2 = new TFile("points_combi.root")
 
TTree * t =(TTree *) f->Get("pndsim")
 
TClonesArray * trk_array =new TClonesArray("PndMdtTrk")
 
TClonesArray * hit_array =new TClonesArray("PndMdtHit")
 
TClonesArray * point_array =new TClonesArray("PndMdtPoint")
 
TClonesArray * mc_array =new TClonesArray("PndMCTrack")
 
PndEmcMapperemcMap =PndEmcMapper::Instance(1)
 
TFile * out = TFile::Open("reco_combi.root","RECREATE")
 
TNtuple * nHit = new TNtuple("nHit","nHit","evt:x:y:z:phi:theta:lay:mod:sec:xt:yt")
 
TNtuple * nHit0 = new TNtuple("nHit0","nHit0","evt:trk:x:y:z:phi:theta:lay:mod:sec:pdg:mot:xt:yt:phit:px:py:pz:y0:y1:y2:y3:y4:y5:y6:y7:y8:y9")
 
TNtuple * ext = new TNtuple("ext","ext","evt:trk:xt:yt:zt:lay:mod:sec:x:y:z:dist:angle")
 
PndMdtRecoParpar = new PndMdtRecoPar()
 
Int_t layer = int((pos.Phi()*TMath::RadToDeg()+180+22.5)/45)
 

Function Documentation

t AddFriend ( "pndsim"  ,
"points_combi.root"   
)
if ( layer  = =8)

Definition at line 37 of file reco_muo.C.

49  {
50  PndMdtTrk *trkHit=(PndMdtTrk*)trk_array->At(tt);
51  /*
52  if ( ( (trkHit->GetModule()==1) && (trkHit->GetHitBit()!=1023) ) ||
53  ( (trkHit->GetModule()==2) && (trkHit->GetHitBit()!=127) ) ||
54  (trkHit->GetModule()==10) ) continue;*/
55  if ( (trkHit->GetModule()!=1) || (trkHit->GetHitBit()!=1023) ) continue;
56 
57  //for (Int_t pp=0;pp<10;pp++) cout << trkHit->GetModule() << " " << pp << " " << trkHit->GetHitNumber(pp)<< endl;
58  PndMdtHit *hit0 = (PndMdtHit*)hit_array->At(trkHit->GetHitNumber(0));
59  PndMdtPoint *point0 = (PndMdtPoint*)point_array->At(hit0->GetRefIndex());
60  PndMCTrack *mc0 = (PndMCTrack*)mc_array->At(((PndMdtPoint*)point_array->At(hit0->GetRefIndex()))->GetTrackID());
61 
62  TVector3 pos0(0.,0.,0.);
63  hit0->Position(pos0);
64  TVector3 mom(point0->GetPx(),point0->GetPy(),point0->GetPz());
65  // mom = point0->GetMomentum();
66 
67  Float_t xt0, yt0;
68  xt0 = (cos(-hit0->GetSector()*45*TMath::DegToRad())*pos0.X() - sin(-hit0->GetSector()*45*TMath::DegToRad())*pos0.Y());
69  yt0 = sin(-hit0->GetSector()*45*TMath::DegToRad())*pos0.X() + cos(-hit0->GetSector()*45*TMath::DegToRad())*pos0.Y();
70  mom->SetPhi(mom.Phi()-hit0->GetSector()*45.*TMath::DegToRad());
71  if (mom.X()==0)
72  {
73  cout << "px == 0 errore"<< endl;
74  continue;
75  }
76  Float_t xlayer0 = -par->GetLayerPos(hit0->GetModule()-1,0);
77  Float_t yproj[10], zproj[10];
78  for (Int_t yy=0; yy<10; yy++)
79  {
80  Float_t xlayer = -par->GetLayerPos(hit0->GetModule()-1,yy);
81  yproj[yy] = yt0 + (xlayer - xt0) * mom.Y() / mom.X();
82  zproj[yy] = pos0.Z() + (xlayer - xt0) * mom.Z() / mom.X();
83 
84  PndMdtHit *testhit = (PndMdtHit*)hit_array->At(trkHit->GetHitNumber(yy));
85  TVector3 hpos(0.,0.,0.);
86  testhit->Position(hpos);
87  Float_t xt, yt;
88  xt = (cos(-hit0->GetSector()*45*TMath::DegToRad())*hpos.X() - sin(-hit0->GetSector()*45*TMath::DegToRad())*hpos.Y());
89  yt = sin(-hit0->GetSector()*45*TMath::DegToRad())*hpos.X() + cos(-hit0->GetSector()*45*TMath::DegToRad())*hpos.Y();
90  Float_t dist = sqrt(((yproj[yy]-yt0)*(yproj[yy]-yt0))+((zproj[yy]-hpos.Z())*(zproj[yy]-hpos.Z())));
91  TVector3 vext(xlayer-xlayer0,yproj[yy]-yt0,zproj[yy]-pos0.Z());
92  TVector3 vhit(xlayer-xlayer0,yt-yt0,hpos.Z()-pos0.Z());
93 
94  ext->Fill(j, tt,xlayer, yproj[yy], zproj[yy], testhit->GetLayerID(), hit0.GetModule(), hit0.GetSector(), xt, yt, hpos.Z(),dist,vext.Angle(vhit) );
95  }
96 
97  Float_t nhit0_nt[] = {
98  j,tt,pos0.X(), pos0.Y(), pos0.Z(), pos0.Phi(), pos0.Theta(),
99  hit0->GetLayerID(), hit0.GetModule(), hit0.GetSector(),
100  mc0->GetPdgCode(), mc0->GetMotherID(), xt0, yt0,mom.Phi()*TMath::RadToDeg(),
101  mom.X(), mom.Y(), mom.Z(),
102  yproj[0],yproj[1],yproj[2],yproj[3],yproj[4],yproj[5],yproj[6],yproj[7],yproj[8],yproj[9],
103 
104 
105  };
106 
107  nHit0->Fill(nhit0_nt);
108  } // end of MdtTrk loop
TClonesArray * point_array
friend F32vec4 cos(const F32vec4 &a)
Definition: P4_F32vec4.h:112
Short_t GetLayerID() const
Definition: PndMdtHit.h:34
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
Int_t GetHitBit() const
Definition: PndMdtTrk.h:46
Int_t GetPdgCode() const
Definition: PndMCTrack.h:73
friend F32vec4 sin(const F32vec4 &a)
Definition: P4_F32vec4.h:111
Double_t par[3]
TClonesArray * mc_array
Definition: anaLmdCluster.C:25
Double_t mom
Definition: plot_dirc.C:14
TClonesArray * hit_array
Int_t GetModule() const
Definition: PndMdtTrk.h:48
Short_t GetSector() const
Definition: PndMdtHit.h:33
TNtuple * nHit0
Definition: reco_muo.C:23
TNtuple * ext
Definition: reco_muo.C:24
Short_t GetModule() const
Definition: PndMdtHit.h:32
Int_t GetMotherID() const
Definition: PndMCTrack.h:74
TClonesArray * trk_array
Definition: reco_muo.C:7
TVector3 pos ( 0.  ,
0.  ,
0.   
)
mdtHit Position ( pos  )
out Save ( )
t SetBranchAddress ( "MdtTrk"  ,
trk_array 
)
t SetBranchAddress ( "MdtHit"  ,
hit_array 
)
t SetBranchAddress ( "MdtPoint"  ,
point_array 
)
t SetBranchAddress ( "MCTrack"  ,
mc_array 
)
nHit Write ( )

Variable Documentation

Definition at line 18 of file reco_muo.C.

TNtuple* ext = new TNtuple("ext","ext","evt:trk:xt:yt:zt:lay:mod:sec:x:y:z:dist:angle")
TFile* f2 = new TFile("points_combi.root")

Definition at line 3 of file reco_muo.C.

TClonesArray* hit_array =new TClonesArray("PndMdtHit")

Definition at line 10 of file reco_muo.C.

Int_t layer = int((pos.Phi()*TMath::RadToDeg()+180+22.5)/45)
TClonesArray* mc_array =new TClonesArray("PndMCTrack")

Definition at line 16 of file reco_muo.C.

TNtuple* nHit = new TNtuple("nHit","nHit","evt:x:y:z:phi:theta:lay:mod:sec:xt:yt")

Definition at line 22 of file reco_muo.C.

TNtuple* nHit0 = new TNtuple("nHit0","nHit0","evt:trk:x:y:z:phi:theta:lay:mod:sec:pdg:mot:xt:yt:phit:px:py:pz:y0:y1:y2:y3:y4:y5:y6:y7:y8:y9")

Definition at line 23 of file reco_muo.C.

TFile* out = TFile::Open("reco_combi.root","RECREATE")

Definition at line 20 of file reco_muo.C.

Referenced by ana_check(), ana_check_psi(), ana_complete(), ana_day1(), ana_invariantmass_2pi_tpc(), ana_jpsi(), ana_MCOpt(), ana_multi(), ana_multikalman(), anaideal_complete(), AnalyseCombinedGammaFiles(), anaRadLength(), anatut_psi2s(), benchmark(), PndSttHitCorrector::CalcClassification(), Check_particle_path(), check_trackcand(), convert_geometry(), createCalibJuelichFeb02(), createFCalib(), PndMvdCreateDefaultApvMap::CreateFile(), PndPidMvaAssociatorTask::DoPidMatch(), PndFtsDataAccessor::Exec(), PndCATracking::Exec(), PndMvdAllDataEventAna::FillHitHistos(), PndKFParticleFinderQA::Finish(), FitGammaSpectra(), for(), full_core_ntp(), gem_material_ana1(), PndHypCalcStrip::GetStrips(), PndLmdCalStrip::GetStrips(), PndSdsCalcStripDif::GetStrips(), PndSdsCalcStrip::GetStrips(), LimitsAlign(), LimitsAlign_misalignConstsSUM(), main(), materialana(), ModulesStat(), ModulesStatFast(), muon_barrel_strip_5bis(), newana_check_eta(), OmegaQuadrupoleFourEnergiesCombination(), operator<<(), PndSdsCalcPixel::operator<<(), PndSdsCalcPixelDif::operator<<(), pid_check(), PndRingSorter::Print(), PndMdtWaveform::Print(), PndSdsDigiStrip::Print(), PndMdtIGeometry::Print(), PndRiemannTrack::Print(), PndMapSorterTpl< TData >::PrintMap(), PndMapSorter::PrintMap(), PndEmcPSAFPGAFilterDelay::put(), run_ana_eta_c_stt(), run_ana_eta_c_stt_v2(), run_ana_eta_c_tpc(), run_ana_invariantmass_2pi_stt(), run_ana_invariantmass_2pi_tpc(), run_ana_invariantmass_4pi_stt(), run_ana_invariantmass_4pi_tpc(), run_ana_tpccombi(), SamplesSummaryAlign(), PndCAGBTracker::SaveHitsInFile(), PndCAGBTracker::SaveTracksInFile(), scattered_particles(), SenseAlign(), structure_analysis_emc(), test_check(), TimeStructure(), TOTALSummaryAlign(), toy_core_ntp(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), track_check_4pi_tpc(), tut_ana(), tut_ana_comb(), tut_ana_d0(), tut_ana_d0_qahelper(), tut_ana_fast(), tut_ana_fit(), tut_ana_mcmatch(), tut_ana_ntp(), tut_ana_ntp_noqa(), tut_ana_ntp_qa(), tut_ana_pid(), VarCorrP(), PndSttDigiPar::write(), PndFtsDigiPar::write(), and PndLmdSensorAligner::writePairsToBinary().

Definition at line 25 of file reco_muo.C.

TClonesArray* point_array =new TClonesArray("PndMdtPoint")

Definition at line 13 of file reco_muo.C.

TTree* t =(TTree *) f->Get("pndsim")

Definition at line 4 of file reco_muo.C.

TClonesArray* trk_array =new TClonesArray("PndMdtTrk")

Definition at line 7 of file reco_muo.C.

Referenced by check_trackcand().