FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndRecoKalmanTask Class Reference

#include <PndRecoKalmanTask.h>

Inheritance diagram for PndRecoKalmanTask:
PndPersistencyTask

Public Member Functions

 PndRecoKalmanTask (const char *name="Genfit", Int_t iVerbose=0)
 
 ~PndRecoKalmanTask ()
 
void SetTrackInBranchName (const TString &name)
 
void SetTrackOutBranchName (const TString &name)
 
void SetMvdBranchName (const TString &name)
 
void SetCentralTrackerBranchName (const TString &name)
 
void SetPersistence (Bool_t opt=kTRUE)
 
void SetGeane (Bool_t opt=kTRUE)
 
void SetIdealHyp (Bool_t opt=kTRUE)
 
void SetDaf (Bool_t opt=kTRUE)
 
void SetPropagateToIP (Bool_t opt=kTRUE)
 
void SetPropagateDistance (Float_t opt=-1.)
 
void SetPerpPlane (Bool_t opt=kTRUE)
 
void SetNumIterations (Int_t num)
 
void SetTrackRep (Short_t num)
 
void SetParticleHypo (TString s)
 
void SetParticleHypo (Int_t h)
 
void SetBusyCut (Int_t b)
 
virtual InitStatus Init ()
 
void SetParContainers ()
 
virtual void Exec (Option_t *opt)
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

 ClassDef (PndRecoKalmanTask, 1)
 Skip too busy events with more tracks. More...
 

Protected Attributes

TClonesArray * fTrackArray
 
TClonesArray * fMCTrackArray
 Input TCA for PndTrack. More...
 
TClonesArray * fFitTrackArray
 Input TCA for PndMCTrack. More...
 
TString fTrackInBranchName
 Output TCA for track. More...
 
TString fTrackOutBranchName
 Name of the input TCA. More...
 
TString fMvdBranchName
 Name of the output TCA. More...
 
TString fCentralTrackerBranchName
 Name of the TCA for MVD. More...
 
PndRecoKalmanFitfFitter
 Name of the TCA for central tracker. More...
 
PndRecoDafFitfDafFitter
 
TDatabasePDG * pdg
 
Bool_t fPersistence
 Particle DB. More...
 
Bool_t fUseGeane
 Persistence. More...
 
Bool_t fSmoothing
 Flag to use Geane. More...
 
Bool_t fIdealHyp
 Flag to set on smoothing (not used) More...
 
Bool_t fDaf
 Flag to use MC particle hypothesis. More...
 
Bool_t fPropagateToIP
 Flag to use Deterministic Annealing. More...
 
Float_t fPropagateDistance
 Flag to propagate the parameters to the interaction point (kTRUE) More...
 
Bool_t fPerpPlane
 Distance in [cm] to back-propagate the parameters, negative number means no backpropagation. More...
 
Short_t fTrackRep
 Flag to use as initial plane the one perpendicular to the track (kFALSE) More...
 
Int_t fNumIt
 (0) GeaneTrackRep, 1 RKTrackRep More...
 
Int_t fPDGHyp
 Number of iterations. More...
 
Int_t fBusyCut
 Hypothesis. More...
 

Detailed Description

Definition at line 33 of file PndRecoKalmanTask.h.

Constructor & Destructor Documentation

PndRecoKalmanTask::PndRecoKalmanTask ( const char *  name = "Genfit",
Int_t  iVerbose = 0 
)

Definition at line 38 of file PndRecoKalmanTask.cxx.

References fDafFitter, fFitter, fFitTrackArray, and PndPersistencyTask::SetPersistency().

41  fFitter(), fDafFitter(), fPersistence(kTRUE),
42  fUseGeane(kTRUE), fIdealHyp(kFALSE), fDaf(kFALSE),
43  fPropagateToIP(kFALSE), fPropagateDistance(2.f), fPerpPlane(kFALSE),fTrackRep(0),
44  fNumIt(1), fPDGHyp(211), fBusyCut(20)
45 {
46  fFitTrackArray = new TClonesArray("PndTrack");
47  fFitter = new PndRecoKalmanFit();
48  fDafFitter = new PndRecoDafFit();
49  SetPersistency(kTRUE);
50 }
TString fTrackInBranchName
Output TCA for track.
Short_t fTrackRep
Flag to use as initial plane the one perpendicular to the track (kFALSE)
Bool_t fPersistence
Particle DB.
void SetPersistency(Bool_t val=kTRUE)
TString fCentralTrackerBranchName
Name of the TCA for MVD.
Bool_t fIdealHyp
Flag to set on smoothing (not used)
Int_t fPDGHyp
Number of iterations.
Bool_t fPerpPlane
Distance in [cm] to back-propagate the parameters, negative number means no backpropagation.
Bool_t fPropagateToIP
Flag to use Deterministic Annealing.
Int_t fNumIt
(0) GeaneTrackRep, 1 RKTrackRep
PndRecoKalmanFit * fFitter
Name of the TCA for central tracker.
TFile * f
Definition: bump_analys.C:12
TClonesArray * fFitTrackArray
Input TCA for PndMCTrack.
PndRecoDafFit * fDafFitter
Bool_t fDaf
Flag to use MC particle hypothesis.
TString fMvdBranchName
Name of the output TCA.
TString name
TString fTrackOutBranchName
Name of the input TCA.
Int_t iVerbose
Float_t fPropagateDistance
Flag to propagate the parameters to the interaction point (kTRUE)
Int_t fBusyCut
Hypothesis.
Bool_t fUseGeane
Persistence.
PndRecoKalmanTask::~PndRecoKalmanTask ( )

Definition at line 53 of file PndRecoKalmanTask.cxx.

54 {
55 }

Member Function Documentation

PndRecoKalmanTask::ClassDef ( PndRecoKalmanTask  ,
 
)
protected

Skip too busy events with more tracks.

void PndRecoKalmanTask::Exec ( Option_t *  opt)
virtual

Definition at line 165 of file PndRecoKalmanTask.cxx.

References fBusyCut, fDaf, fDafFitter, fFitter, fFitTrackArray, fIdealHyp, PndRecoDafFit::Fit(), PndRecoKalmanFit::Fit(), fMCTrackArray, fPDGHyp, fTrackArray, fTrackInBranchName, fVerbose, PndTrack::GetChi2(), PndTrack::GetFlag(), PndTrack::GetNDF(), PndTrack::GetParamFirst(), PndTrack::GetParamLast(), PndMCTrack::GetPdgCode(), PndTrack::GetPidHypo(), PndTrack::GetTrackCand(), pdg, and PndTrack::SetFlag().

165  {
166  if (fVerbose > 0)
167  std::cout << "PndRecoKalmanTask::Exec" << std::endl;
168 
169  fFitTrackArray->Delete();
170 
171  Int_t ntracks = fTrackArray->GetEntriesFast();
172 
173  // Detailed output
174  if (fVerbose > 1)
175  std::cout << " -I- PndRecoKalmanTask: contains " << ntracks
176  << " Tracks." << std::endl;
177 
178  // Cut too busy events TODO
179  if (ntracks > fBusyCut) {
180  std::cout << " -I- PndRecoKalmanTask::Exec: ntracks=" << ntracks
181  << " Evil Event! skipping" << std::endl;
182  return;
183  }
184 
185  for (Int_t itr = 0; itr < ntracks; ++itr) {
186  if (fVerbose > 1)
187  std::cout << "starting track" << itr << std::endl;
188 
189  TClonesArray& trkRef = *fFitTrackArray;
190  Int_t size = trkRef.GetEntriesFast();
191 
192  PndTrack *prefitTrack = (PndTrack*) fTrackArray->At(itr);
193  Int_t fCharge = prefitTrack->GetParamFirst().GetQ();
194  Int_t PDGCode = 0;
195  if (fIdealHyp) {
196  //PndTrackID *prefitTrackID = (PndTrackID*) fTrackIDArray->At(itr);
197  if (prefitTrack->GetSortedMCTracks().size() > 0) {
198  FairLink mcTrackId = prefitTrack->GetSortedMCTracks().at(0);
199  if (mcTrackId.GetType() == FairRootManager::Instance()->GetBranchId("MCTrack")) {
200  PndMCTrack *mcTrack = (PndMCTrack*) fMCTrackArray->At(mcTrackId.GetIndex()); //todo: replace with GetCloneOfLinkData
201  if (!mcTrack) {
202  PDGCode = 211 * fCharge;
203  std::cout << "-I- PndRecoKalmanTask::Exec: MCTrack #"
204  << mcTrackId
205  << " is not existing!! Trying with pion hyp"
206  << std::endl;
207  } else {
208  PDGCode = mcTrack->GetPdgCode();
209  }
210  if (PDGCode >= 100000000) {
211  PDGCode = 211 * fCharge;
212  std::cout
213  << "-I- PndRecoKalmanTask::Exec: Track is an ion (PDGCode>100000000)! Trying with pion hyp"
214  << std::endl;
215  } else if ((((TParticlePDG*) pdg->GetParticle(PDGCode))->Charge())
216  == 0) {
217  PDGCode = 211 * fCharge;
218  std::cout
219  << "-E- PndRecoKalmanTask::Exec: Track MC charge is 0!!!! Trying with pion hyp"
220  << std::endl;
221  }
222  } // end of MCTrack ID != -1
223  else {
224  PDGCode = 211 * fCharge;
225  std::cout
226  << "-E- PndRecoKalmanTask::Exec: No MCTrack index in PndTrackID!! Trying with pion hyp"
227  << std::endl;
228  }
229  } // end of "at least one correlated mc index"
230  else {
231  PDGCode = 211 * fCharge;
232  std::cout
233  << "-E- PndRecoKalmanTask::Exec: No Correlated MCTrack id in PndTrackID!! Trying with pion hyp"
234  << std::endl;
235  }
236  } // end of ideal hyp condition
237  else {
238  PDGCode = fPDGHyp * fCharge;
239  }
240 
241  PndTrack *fitTrack;
242  if (PDGCode != 0) {
243  if (fDaf)
244  fitTrack = fDafFitter->Fit(prefitTrack, PDGCode);
245  else
246  fitTrack = fFitter->Fit(prefitTrack, PDGCode);
247  } else {
248  fitTrack = prefitTrack;
249  fitTrack->SetFlag(-22);
250  std::cout
251  << "-I- PndRecoKalmanTask::Exec: Kalman cannot run on this track because of the bad MonteCarlo PDG code"
252  << std::endl;
253  }
254 
255  new (trkRef[size]) PndTrack(
256  fitTrack->GetParamFirst(), fitTrack->GetParamLast(),
257  fitTrack->GetTrackCand(), fitTrack->GetFlag(),
258  fitTrack->GetChi2(), fitTrack->GetNDF(), fitTrack->GetPidHypo(),
259  itr,
260  FairRootManager::Instance()->GetBranchId(fTrackInBranchName)); //PndTrack* pndTrack = //[R.K.03/2017] unused variable
261  delete (fitTrack);
262  }
263 
264  if (fVerbose > 0)
265  std::cout << "Fitting done" << std::endl;
266 
267  return;
268 }
int fVerbose
Definition: poormantracks.C:24
TString fTrackInBranchName
Output TCA for track.
TClonesArray * fTrackArray
Int_t GetPdgCode() const
Definition: PndMCTrack.h:73
Int_t GetFlag() const
Definition: PndTrack.h:33
TDatabasePDG * pdg
Bool_t fIdealHyp
Flag to set on smoothing (not used)
Int_t fPDGHyp
Number of iterations.
PndTrackCand GetTrackCand()
Definition: PndTrack.h:47
PndRecoKalmanFit * fFitter
Name of the TCA for central tracker.
Int_t GetNDF() const
Definition: PndTrack.h:35
FairTrackParP GetParamLast()
Definition: PndTrack.h:50
TClonesArray * fFitTrackArray
Input TCA for PndMCTrack.
PndRecoDafFit * fDafFitter
Bool_t fDaf
Flag to use MC particle hypothesis.
PndTrack * Fit(PndTrack *tBefore, Int_t PDG)
Double_t GetChi2() const
Definition: PndTrack.h:34
void SetFlag(Int_t i)
Definition: PndTrack.h:38
Int_t GetPidHypo() const
Definition: PndTrack.h:32
PndTrack * Fit(PndTrack *tBefore, Int_t PDG)
TClonesArray * fMCTrackArray
Input TCA for PndTrack.
Int_t fBusyCut
Hypothesis.
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49
Bool_t PndPersistencyTask::GetPersistency ( )
inlineinherited

Definition at line 32 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency.

Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndSttHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndRichHitProducer::Init(), PndSttHelixHitProducer::Init(), PndDiscTaskPID::Init(), PndIdealTrackFinder::Init(), PndSttMvdGemTracking::Init(), PndMdtTrkProducer::Init(), PndFtsHitProducerRealFull::Init(), PndLmdPixelClusterTask::Init(), PndSttHitProducerRealFull::Init(), PndLmdStripClusterTask::Init(), PndEmcApdHitProducer::Init(), PndMissingPzCleanerTask::Init(), PndEmcMakeRecoHit::Init(), PndEmcMakeClusterOnline::Init(), PndTrackSmearTask::Init(), PndEmcFWEndcapTimebasedWaveforms::Init(), PndSttHitProducerIdeal::Init(), PndEmcFWEndcapDigi::Init(), PndFtsHitProducerIdeal::Init(), PndEmcMakeCluster::Init(), PndMdtPointsToWaveform::Init(), PndDiscTaskDigitization::Init(), PndEmcMakeDigi::Init(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndRecoMultiKalmanTask2::Init(), PndEmcHitProducer::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndRecoKalmanTask2::Init(), PndDrcTimeDigiTask::Init(), PndEmcExpClusterSplitter::Init(), PndFtsHoughTrackerTask::Init(), PndSdsNoiseProducer::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsIdealRecoTask::Init(), PndSdsHybridHitProducer::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), Init(), PndSdsStripHitProducerDif::Init(), PndGemDigitize::Init(), PndSdsStripHitProducer::Init(), PndGemFindHits::Init(), PndSdsPixelClusterTask::Init(), PndSdsStripClusterTask::Init(), PndMvdGemTrackFinderOnHits::Init(), PndBarrelTrackFinder::Init(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcMakeBump::PndEmcMakeBump(), PndUnassignedHitsTask::RegisterBranches(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndEmcMakeBump::SetStorageOfData(), and PndEmcFullDigiTask::StoreDigi().

32 { return fPersistency; }
InitStatus PndRecoKalmanTask::Init ( )
virtual

Definition at line 58 of file PndRecoKalmanTask.cxx.

References fCentralTrackerBranchName, fDaf, fDafFitter, fFitter, fFitTrackArray, fIdealHyp, fMCTrackArray, fMvdBranchName, fNumIt, fPerpPlane, fPropagateDistance, fPropagateToIP, fTrackArray, fTrackInBranchName, fTrackOutBranchName, fTrackRep, fUseGeane, fVerbose, PndPersistencyTask::GetPersistency(), PndRecoDafFit::Init(), PndRecoKalmanFit::Init(), pdg, PndRecoDafFit::SetCentralTrackerBranchName(), PndRecoKalmanFit::SetCentralTrackerBranchName(), PndRecoDafFit::SetGeane(), PndRecoKalmanFit::SetGeane(), PndRecoDafFit::SetMvdBranchName(), PndRecoKalmanFit::SetMvdBranchName(), PndRecoKalmanFit::SetNumIterations(), PndRecoDafFit::SetPerpPlane(), PndRecoKalmanFit::SetPerpPlane(), PndRecoKalmanFit::SetPropagateDistance(), PndRecoDafFit::SetPropagateToIP(), PndRecoKalmanFit::SetPropagateToIP(), PndRecoDafFit::SetTrackRep(), PndRecoKalmanFit::SetTrackRep(), PndRecoDafFit::SetVerbose(), and PndRecoKalmanFit::SetVerbose().

59 {
60 
61  switch (fTrackRep)
62  {
63  case 0:
64  std::cout << " -I- PndRecoKalmanTask:Init :: Using GeaneTrackRep" << std::endl;
65  break;
66  case 1:
67  std::cout << " -I- PndRecoKalmanTask:Init :: Using RKTrackRep" << std::endl;
68  break;
69  default:
70  Error("PndRecoKalmanTask::Init","Not existing Track Representation!!");
71  return kERROR;
72  }
73 
74  if (!fDaf)
75  {
85  if (!fFitter->Init()) return kFATAL;
86  }
87  else
88  {
96  if (!fDafFitter->Init()) return kFATAL;
97  }
98 
99  //Get ROOT Manager
100  FairRootManager* ioman= FairRootManager::Instance();
101 
102  if(ioman==0)
103  {
104  Error("PndRecoKalmanTask::Init","RootManager not instantiated!");
105  return kERROR;
106  }
107 
108  // Get input collection
109  fTrackArray=(TClonesArray*) ioman->GetObject(fTrackInBranchName);
110  if(fTrackArray==0)
111  {
112  Error("PndRecoKalmanTask::Init","track-array not found!");
113  return kERROR;
114  }
115  if (fIdealHyp)
116  {
117  pdg = new TDatabasePDG();
118  // fTrackIDArray=(TClonesArray*) ioman->GetObject(fTrackInIDBranchName);
119  // if(fTrackIDArray==0)
120  // {
121  // Error("PndRecoKalmanTask::Init","track ID array not found! It is not possible to run ideal particle hypothesis");
122  // return kERROR;
123  // }
124 
125  fMCTrackArray=(TClonesArray*) ioman->GetObject("MCTrack");
126  if(fMCTrackArray==0)
127  {
128  Error("PndRecoKalmanTask::Init","MCTrack array not found! It is not possible to run ideal particle hypothesis");
129  return kERROR;
130  }
131  }
132  // TODO this is deactivated for backwards compatibility. Should be removed someday [R.K. 12/2018]
133  // if (fIdealHyp) {
134  // ioman->Register(fTrackOutBranchName+"IdHyp","Gen", fFitTrackArray, GetPersistency());
135  // }
136  // else if (abs(fPDGHyp) == 11){
137  // ioman->Register(fTrackOutBranchName+"Electron","Gen", fFitTrackArray, GetPersistency());
138  // }
139  // else if (abs(fPDGHyp) == 13){
140  // ioman->Register(fTrackOutBranchName+"Muon","Gen", fFitTrackArray, GetPersistency());
141  // }
142  // else if (abs(fPDGHyp) == 211){
143  // ioman->Register(fTrackOutBranchName+"Pion","Gen", fFitTrackArray, GetPersistency());
144  // }
145  // else if (abs(fPDGHyp) == 321){
146  // ioman->Register(fTrackOutBranchName+"Kaon","Gen", fFitTrackArray, GetPersistency());
147  // }
148  // else if (abs(fPDGHyp) == 2212){
149  // ioman->Register(fTrackOutBranchName+"Proton","Gen", fFitTrackArray, GetPersistency());
150  // }
151  // else {
152  // std::cout << " -I- PndRecoKalmanTask:Init :: No hypothesis set, using PION hypothesis" << std::endl;
153  ioman->Register(fTrackOutBranchName,"Gen", fFitTrackArray, GetPersistency());
154  // }
155 
156  return kSUCCESS;
157 }
int fVerbose
Definition: poormantracks.C:24
TString fTrackInBranchName
Output TCA for track.
void SetMvdBranchName(const TString &name)
Definition: PndRecoDafFit.h:46
TClonesArray * fTrackArray
void SetTrackRep(Int_t num)
Definition: PndRecoDafFit.h:44
void SetPropagateToIP(Bool_t opt=kTRUE)
void SetTrackRep(Int_t num)
Short_t fTrackRep
Flag to use as initial plane the one perpendicular to the track (kFALSE)
TString fCentralTrackerBranchName
Name of the TCA for MVD.
void SetPropagateDistance(Float_t opt=-1.f)
TDatabasePDG * pdg
void SetMvdBranchName(const TString &name)
Bool_t fIdealHyp
Flag to set on smoothing (not used)
void SetPerpPlane(Bool_t opt=kTRUE)
Definition: PndRecoDafFit.h:42
Bool_t fPerpPlane
Distance in [cm] to back-propagate the parameters, negative number means no backpropagation.
Bool_t fPropagateToIP
Flag to use Deterministic Annealing.
Int_t fNumIt
(0) GeaneTrackRep, 1 RKTrackRep
PndRecoKalmanFit * fFitter
Name of the TCA for central tracker.
void SetPerpPlane(Bool_t opt=kTRUE)
TClonesArray * fFitTrackArray
Input TCA for PndMCTrack.
PndRecoDafFit * fDafFitter
Bool_t fDaf
Flag to use MC particle hypothesis.
void SetGeane(Bool_t opt=kTRUE)
TString fMvdBranchName
Name of the output TCA.
void SetVerbose(Int_t verb)
void SetCentralTrackerBranchName(const TString &name)
TString fTrackOutBranchName
Name of the input TCA.
void SetVerbose(Int_t verb)
Definition: PndRecoDafFit.h:45
void SetCentralTrackerBranchName(const TString &name)
Definition: PndRecoDafFit.h:47
void SetNumIterations(Int_t num)
void SetGeane(Bool_t opt=kTRUE)
Definition: PndRecoDafFit.h:40
Float_t fPropagateDistance
Flag to propagate the parameters to the interaction point (kTRUE)
TClonesArray * fMCTrackArray
Input TCA for PndTrack.
void SetPropagateToIP(Bool_t opt=kTRUE)
Definition: PndRecoDafFit.h:41
Bool_t fUseGeane
Persistence.
void PndRecoKalmanTask::SetBusyCut ( Int_t  b)
inline
void PndRecoKalmanTask::SetCentralTrackerBranchName ( const TString name)
inline

Definition at line 56 of file PndRecoKalmanTask.h.

References fCentralTrackerBranchName, and name.

56  {
58  }
TString fCentralTrackerBranchName
Name of the TCA for MVD.
TString name
void PndRecoKalmanTask::SetDaf ( Bool_t  opt = kTRUE)
inline

Definition at line 68 of file PndRecoKalmanTask.h.

References fDaf.

68  {
69  fDaf = opt;
70  }
Bool_t fDaf
Flag to use MC particle hypothesis.
void PndRecoKalmanTask::SetGeane ( Bool_t  opt = kTRUE)
inline

Definition at line 62 of file PndRecoKalmanTask.h.

References fUseGeane.

62  {
63  fUseGeane = opt;
64  }
Bool_t fUseGeane
Persistence.
void PndRecoKalmanTask::SetIdealHyp ( Bool_t  opt = kTRUE)
inline

Definition at line 65 of file PndRecoKalmanTask.h.

References fIdealHyp.

Referenced by recoideal_complete().

65  {
66  fIdealHyp = opt;
67  }
Bool_t fIdealHyp
Flag to set on smoothing (not used)
void PndRecoKalmanTask::SetMvdBranchName ( const TString name)
inline

Definition at line 53 of file PndRecoKalmanTask.h.

References fMvdBranchName, and name.

53  {
55  }
TString fMvdBranchName
Name of the output TCA.
TString name
void PndRecoKalmanTask::SetNumIterations ( Int_t  num)
inline

Definition at line 80 of file PndRecoKalmanTask.h.

References fNumIt, and num.

80  {
81  fNumIt = num;
82  }
int num[96]
Definition: ranlxd.cxx:381
Int_t fNumIt
(0) GeaneTrackRep, 1 RKTrackRep
void PndRecoKalmanTask::SetParContainers ( )

Definition at line 159 of file PndRecoKalmanTask.cxx.

References rtdb.

159  {
160  FairRuntimeDb* rtdb = FairRunAna::Instance()->GetRuntimeDb();
161  rtdb->getContainer("PndGeoSttPar");
162  rtdb->getContainer("PndGeoFtsPar");
163 }
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
void PndRecoKalmanTask::SetParticleHypo ( TString  s)

Definition at line 270 of file PndRecoKalmanTask.cxx.

References fPDGHyp.

271 {
272  // Set the hypothesis for the fit, charge will be applied later
273  if(h.BeginsWith("e") || h.BeginsWith("E")) {
274  fPDGHyp=-11; //electrons
275  } else if(h.BeginsWith("m") || h.BeginsWith("M")) {
276  fPDGHyp=-13; //muons
277  } else if(h.BeginsWith("pi") || h.BeginsWith("Pi") || h.BeginsWith("PI")) {
278  fPDGHyp=211; //pions
279  } else if(h.BeginsWith("K") || h.BeginsWith("K")) {
280  fPDGHyp=321; //kaons
281  } else if(h.BeginsWith("p") || h.BeginsWith("P") || h.BeginsWith("antip")) {
282  fPDGHyp=2212; //protons/antiprotons
283  } else {
284  std::cout << "-I- PndRecoKalmanTask::SetParticleHypo: Not recognised PID set -> Using default PION hypothesis" << std::endl;
285  fPDGHyp=211; // Pion is default.
286  }
287 }
Int_t fPDGHyp
Number of iterations.
void PndRecoKalmanTask::SetParticleHypo ( Int_t  h)

Definition at line 289 of file PndRecoKalmanTask.cxx.

References fPDGHyp.

290 {
291  switch (abs(h))
292  {
293  case 11:
294  fPDGHyp = -11;
295  break;
296  case 13:
297  fPDGHyp = -13;
298  break;
299  case 211:
300  fPDGHyp = 211;
301  break;
302  case 321:
303  fPDGHyp = 321;
304  break;
305  case 2212:
306  fPDGHyp = 2212;
307  break;
308  default:
309  std::cout << "-I- PndRecoKalmanTask::SetParticleHypo: Not recognised PID set -> Using default PION hypothesis" << std::endl;
310  fPDGHyp = 211;
311  break;
312  }
313 }
Int_t fPDGHyp
Number of iterations.
void PndRecoKalmanTask::SetPerpPlane ( Bool_t  opt = kTRUE)
inline

Definition at line 77 of file PndRecoKalmanTask.h.

References fPerpPlane.

77  {
78  fPerpPlane = opt;
79  }
Bool_t fPerpPlane
Distance in [cm] to back-propagate the parameters, negative number means no backpropagation.
void PndRecoKalmanTask::SetPersistence ( Bool_t  opt = kTRUE)
inline

Definition at line 59 of file PndRecoKalmanTask.h.

References fPersistence.

59  {
60  fPersistence = opt;
61  }
Bool_t fPersistence
Particle DB.
void PndPersistencyTask::SetPersistency ( Bool_t  val = kTRUE)
inlineinherited

Definition at line 31 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency, and val.

Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi(), PndEmcWaveformToCalibratedDigi::PndEmcWaveformToCalibratedDigi(), PndEmcWaveformToDigi::PndEmcWaveformToDigi(), PndFtofHitProducerIdeal::PndFtofHitProducerIdeal(), PndFtsCATracking::PndFtsCATracking(), PndFtsHitProducerIdeal::PndFtsHitProducerIdeal(), PndFtsHitProducerRealFast::PndFtsHitProducerRealFast(), PndFtsHitProducerRealFull::PndFtsHitProducerRealFull(), PndFtsHoughTrackerTask::PndFtsHoughTrackerTask(), PndGemDigitize::PndGemDigitize(), PndGemFindHits::PndGemFindHits(), PndIdealTrackFinder::PndIdealTrackFinder(), PndLmdPixelClusterTask::PndLmdPixelClusterTask(), PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal::PndMdtHitProducerIdeal(), PndMdtPointsToWaveform::PndMdtPointsToWaveform(), PndMdtTrkProducer::PndMdtTrkProducer(), PndMissingPzCleanerTask::PndMissingPzCleanerTask(), PndMvdGemTrackFinderOnHits::PndMvdGemTrackFinderOnHits(), PndMvdHitProducerIdeal::PndMvdHitProducerIdeal(), PndMvdPixelClusterTask::PndMvdPixelClusterTask(), PndMvdTimeWalkCorrTask::PndMvdTimeWalkCorrTask(), PndMvdToPix4ClusterTask::PndMvdToPix4ClusterTask(), PndRecoKalmanTask(), PndRecoKalmanTask2::PndRecoKalmanTask2(), PndRecoMultiKalmanTask::PndRecoMultiKalmanTask(), PndRecoMultiKalmanTask2::PndRecoMultiKalmanTask2(), PndRichHitFinder::PndRichHitFinder(), PndRichHitProducer::PndRichHitProducer(), PndSciTDigiTask::PndSciTDigiTask(), PndSciTHitProducerIdeal::PndSciTHitProducerIdeal(), PndSdsHitProducerIdeal::PndSdsHitProducerIdeal(), PndSdsHybridHitProducer::PndSdsHybridHitProducer(), PndSdsIdealClusterTask::PndSdsIdealClusterTask(), PndSdsIdealRecoTask::PndSdsIdealRecoTask(), PndSdsNoiseProducer::PndSdsNoiseProducer(), PndSdsPixelClusterTask::PndSdsPixelClusterTask(), PndSdsStripClusterTask::PndSdsStripClusterTask(), PndSdsStripHitProducer::PndSdsStripHitProducer(), PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask(), PndSttFindTracks::PndSttFindTracks(), PndSttHelixHitProducer::PndSttHelixHitProducer(), PndSttHitProducerIdeal::PndSttHitProducerIdeal(), PndSttHitProducerRealFast::PndSttHitProducerRealFast(), PndSttHitProducerRealFull::PndSttHitProducerRealFull(), PndSttMatchTracks::PndSttMatchTracks(), PndSttMvdGemTracking::PndSttMvdGemTracking(), PndTrackSmearTask::PndTrackSmearTask(), PndTrkTracking2::PndTrkTracking2(), reco(), reco_complete(), reco_complete_gf2(), reco_complete_newSTT(), reco_complete_sec(), recoideal_complete(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndLmdPixelHitProducerFast::SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcFWEndcapTimebasedWaveforms::SetStorageOfData(), PndEmcMakeDigi::SetStorageOfData(), PndMdtPointsToWaveform::SetStorageOfData(), PndEmc2DLocMaxFinder::SetStorageOfData(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcTmpWaveformToDigi::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcWaveformToCalibratedDigi::SetStorageOfData(), PndEmcMultiWaveformToCalibratedDigi::SetStorageOfData(), PndEmcExpClusterSplitter::SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().

31 { fPersistency = val; }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndRecoKalmanTask::SetPropagateDistance ( Float_t  opt = -1.)
inline

Definition at line 74 of file PndRecoKalmanTask.h.

References fPropagateDistance.

74  {
75  fPropagateDistance = opt;
76  }
Float_t fPropagateDistance
Flag to propagate the parameters to the interaction point (kTRUE)
void PndRecoKalmanTask::SetPropagateToIP ( Bool_t  opt = kTRUE)
inline

Definition at line 71 of file PndRecoKalmanTask.h.

References fPropagateToIP.

Referenced by reco(), reco2_complete(), and recoideal_complete().

71  {
72  fPropagateToIP = opt;
73  }
Bool_t fPropagateToIP
Flag to use Deterministic Annealing.
void PndRecoKalmanTask::SetTrackInBranchName ( const TString name)
inline
void PndRecoKalmanTask::SetTrackOutBranchName ( const TString name)
inline
void PndRecoKalmanTask::SetTrackRep ( Short_t  num)
inline

Definition at line 83 of file PndRecoKalmanTask.h.

References fTrackRep, and num.

Referenced by barrelTrackFinder(), catracking(), PndMasterRecoTask::PndMasterRecoTask(), prod_rec(), reco(), reco2_complete(), reco_complete(), reco_complete_newSTT(), reco_complete_runs(), reco_complete_sec(), reco_rich(), and standard_tracking().

83  {
84  fTrackRep = num;
85  }
int num[96]
Definition: ranlxd.cxx:381
Short_t fTrackRep
Flag to use as initial plane the one perpendicular to the track (kFALSE)

Member Data Documentation

Int_t PndRecoKalmanTask::fBusyCut
protected

Hypothesis.

Definition at line 128 of file PndRecoKalmanTask.h.

Referenced by Exec(), and SetBusyCut().

TString PndRecoKalmanTask::fCentralTrackerBranchName
protected

Name of the TCA for MVD.

Definition at line 110 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetCentralTrackerBranchName().

Bool_t PndRecoKalmanTask::fDaf
protected

Flag to use MC particle hypothesis.

Definition at line 121 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and SetDaf().

PndRecoDafFit* PndRecoKalmanTask::fDafFitter
protected

Definition at line 113 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and PndRecoKalmanTask().

PndRecoKalmanFit* PndRecoKalmanTask::fFitter
protected

Name of the TCA for central tracker.

Definition at line 112 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and PndRecoKalmanTask().

TClonesArray* PndRecoKalmanTask::fFitTrackArray
protected

Input TCA for PndMCTrack.

Definition at line 103 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and PndRecoKalmanTask().

Bool_t PndRecoKalmanTask::fIdealHyp
protected

Flag to set on smoothing (not used)

Definition at line 120 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and SetIdealHyp().

TClonesArray* PndRecoKalmanTask::fMCTrackArray
protected

Input TCA for PndTrack.

Definition at line 102 of file PndRecoKalmanTask.h.

Referenced by Exec(), and Init().

TString PndRecoKalmanTask::fMvdBranchName
protected

Name of the output TCA.

Definition at line 109 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetMvdBranchName().

Int_t PndRecoKalmanTask::fNumIt
protected

(0) GeaneTrackRep, 1 RKTrackRep

Definition at line 126 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetNumIterations().

Int_t PndRecoKalmanTask::fPDGHyp
protected

Number of iterations.

Definition at line 127 of file PndRecoKalmanTask.h.

Referenced by Exec(), and SetParticleHypo().

Bool_t PndRecoKalmanTask::fPerpPlane
protected

Distance in [cm] to back-propagate the parameters, negative number means no backpropagation.

Definition at line 124 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetPerpPlane().

Bool_t PndRecoKalmanTask::fPersistence
protected

Particle DB.

Definition at line 116 of file PndRecoKalmanTask.h.

Referenced by SetPersistence().

Float_t PndRecoKalmanTask::fPropagateDistance
protected

Flag to propagate the parameters to the interaction point (kTRUE)

Definition at line 123 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetPropagateDistance().

Bool_t PndRecoKalmanTask::fPropagateToIP
protected

Flag to use Deterministic Annealing.

Definition at line 122 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetPropagateToIP().

Bool_t PndRecoKalmanTask::fSmoothing
protected

Flag to use Geane.

Definition at line 119 of file PndRecoKalmanTask.h.

TClonesArray* PndRecoKalmanTask::fTrackArray
protected

Definition at line 100 of file PndRecoKalmanTask.h.

Referenced by Exec(), and Init().

TString PndRecoKalmanTask::fTrackInBranchName
protected

Output TCA for track.

Definition at line 105 of file PndRecoKalmanTask.h.

Referenced by Exec(), Init(), and SetTrackInBranchName().

TString PndRecoKalmanTask::fTrackOutBranchName
protected

Name of the input TCA.

Definition at line 107 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetTrackOutBranchName().

Short_t PndRecoKalmanTask::fTrackRep
protected

Flag to use as initial plane the one perpendicular to the track (kFALSE)

Definition at line 125 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetTrackRep().

Bool_t PndRecoKalmanTask::fUseGeane
protected

Persistence.

Definition at line 118 of file PndRecoKalmanTask.h.

Referenced by Init(), and SetGeane().

TDatabasePDG* PndRecoKalmanTask::pdg
protected

Definition at line 114 of file PndRecoKalmanTask.h.

Referenced by Exec(), and Init().


The documentation for this class was generated from the following files: