isGood = (labITS >= 0);
nOK = treeTrueTracks->Draw("px:py:pz", Form("label==%d && tpc_ok==1", abs(labITS)), "goff");
if (!nOK) {
- cerr << "ITS label not found among findable tracks:";
- cerr << " labITS = " << labITS;
- cerr << " labTPC = " << labTPC;
- cerr << endl;
+
+// cerr << "ITS label not found among findable tracks:";
+// cerr << " labITS = " << labITS;
+// cerr << " labTPC = " << labTPC;
+// cerr << endl;
+
isGood = kFALSE;
}
if (nOK > 1) {
found_py = iotrack->GetPy();
found_pz = iotrack->GetPz();
found_pt = TMath::Sqrt(found_px*found_px + found_py*found_py);
- difpt = ((2. * found_pt - true_pt) / true_pt) * 100.;
+ difpt = ((found_pt - true_pt) / true_pt) * 100.;
+ //cout << found_pt << " " << true_pt << " " << difpt << endl;
// lambda (mrad)
found_tgl = iotrack->GetStateTgl();
#include "AliITSRad.h"
#include "AliITSTrackV1.h"
#include "AliGenerator.h"
-#include "AliMagF.h"
+//#include "AliMagF.h"
ClassImp(AliITSTrackV1)
fFieldFactor = 0.0;
}
-AliITSTrackV1::AliITSTrackV1(const char *opt) {
+AliITSTrackV1::AliITSTrackV1(const char *opt, Double_t fieldfactor) {
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
// default constructor
//////////////////////////////////////// gets magnetic field factor ////////////////////////////////
- AliMagF * fieldPointer = gAlice->Field();
- fFieldFactor = (Double_t)fieldPointer->Factor();
+ // AliMagF * fieldPointer = gAlice->Field();
+ // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
+ fFieldFactor = fieldfactor;
//cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
/////////////////////////////////////////////////////////////////////////////////////////////////////////
}
-AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj)
+AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj, Double_t fieldfactor)
{
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
// special constructor to convert a TPC track into an ITS track
//////////////////////////////////////// gets magnetic field factor ////////////////////////////////
- AliMagF * fieldPointer = gAlice->Field();
- fFieldFactor = (Double_t)fieldPointer->Factor();
- //cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
+ // AliMagF * fieldPointer = gAlice->Field();
+ // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
+ fFieldFactor = fieldfactor;
+ // cout<< " field factor dentro alitrack = "<<fFieldFactor<<"\n";/* getchar();*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////
public:
AliITSTrackV1(); // default constructor
- AliITSTrackV1(const char *opt); // Standard constructor
- AliITSTrackV1(AliTPCtrack &obj); // Standard constructor
+ //AliITSTrackV1(const char *opt); // Standard constructor
+ AliITSTrackV1(const char *opt, Double_t fieldfactor); // Standard constructor
+ //AliITSTrackV1(AliTPCtrack &obj); // Standard constructor
+ AliITSTrackV1(AliTPCtrack &obj, Double_t fieldfactor); // Standard constructor
AliITSTrackV1(const AliITSTrackV1 &cobj); // copy constructor
AliITSTrackV1 &operator=(AliITSTrackV1 obj); // operator =
~AliITSTrackV1(); // default destructor
/*
$Log$
+Revision 1.23 2002/10/22 18:29:34 barbera
+Tracking V1 ported to the HEAD
+
Revision 1.22 2002/10/22 14:45:36 alibrary
Introducing Riostream.h
cleanded up a little bit of code.
*/
-// The purpose of this class is to permorm the ITS tracking. The
+// The purpose of this class is to permorm the ITS tracking. The
// constructor has the task to inizialize some private members. The method
// DoTracking is written to be called by a macro. It gets the event number,
// the minimum and maximum order number of TPC tracks that are to be tracked
////////// gets magnetic field factor //////////////////////////////
AliMagF * fieldPointer = gAlice->Field();
- fFieldFactor = (Double_t)fieldPointer->Factor();
- //cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
+ // fFieldFactor = (Double_t)fieldPointer->Factor();
+ fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
+ // cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
}
//______________________________________________________________________
AliITSTrackerV1::AliITSTrackerV1(const AliITSTrackerV1 &cobj) {
gAlice->GetEvent(evNumber); //modificato per gestire hbt
AliKalmanTrack *kkprov;
- kkprov->SetConvConst(100/0.299792458/0.2/fFieldFactor);
+ //kkprov->SetConvConst(100/0.299792458/0.2/fFieldFactor);
+ kkprov->SetConvConst(1000/0.299792458/gAlice->Field()->SolenoidField());
+ // cout<<" field = "<<gAlice->Field()->SolenoidField()<<endl;
+
TFile *cf=TFile::Open("AliTPCclusters.root");
AliTPCParam *digp= (AliTPCParam*)cf->Get("75x40_100x60_150x60");
track->PropagateTo(xk, 44.77, 1.71); //Tedlar
xk -=0.005;
track->PropagateTo(xk, 24.01, 2.7); //Al
+
////////////////////////////////////////////////////////////////////////////////////////////////////////
- AliITSTrackV1 trackITS(*track);
+ //AliITSTrackV1 trackITS(*track);
+ AliITSTrackV1 trackITS(*track, fFieldFactor);
+ //cout<<" fFieldFactor = "<<fFieldFactor<<"\n";
trackITS.PutMass(mass); //new to add mass to track
if(fresult){ delete fresult; fresult=0;}
fresult = new AliITSTrackV1(trackITS);
list->AddLast(&trackITS);
fPtref=TMath::Abs( (trackITS).GetPt() );
+ //cout<<" fPtref = " <<fPtref<<"\n";
if(fPtref>1.0) fChi2max=40.;
if(fPtref<=1.0) fChi2max=20.;
if(fPtref<0.4 ) fChi2max=100.;
# delete eventual old files from the last run
./AliITSDeleteOldFiles.sh
-# run the hit generation
-aliroot -q -b "$ALICE_ROOT/macros/grun.C"
-
-# digitize TPC
-aliroot -q -b "$ALICE_ROOT/TPC/AliTPCHits2Digits.C"
-
-# find clusters in TPC
-aliroot -q -b "$ALICE_ROOT/TPC/AliTPCFindClusters.C"
-
-# find tracks in TPC
-aliroot -q -b "$ALICE_ROOT/TPC/AliTPCFindTracks.C"
-
-# do TPC tracking comparison
-aliroot -q -b "$ALICE_ROOT/TPC/AliTPCComparison.C"
+# do everything for the TPC
+aliroot -q -b "$ALICE_ROOT/TPC/AliTPCtest.C"
# create summable digits for the ITS
aliroot -q -b "$ALICE_ROOT/ITS/AliITSHits2SDigits.C"