Skip to content

Commit

Permalink
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
Browse files Browse the repository at this point in the history
  • Loading branch information
amorsch committed Feb 17, 2014
2 parents be2ca97 + 11f78b1 commit ace36fa
Show file tree
Hide file tree
Showing 18 changed files with 316 additions and 121 deletions.
72 changes: 36 additions & 36 deletions EVE/EveDet/AliEveTRDTrackList.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@
#include <EveDet/AliEveTRDTrackList.h>
#include <EveDet/AliEveTRDTrackListEditor.h>

#include <../PWGPP/TRD/AliTRDrecoTask.h>
#include <../PWGPP/TRD/AliTRDpwgppHelper.h>
// #include <../PWGPP/TRD/AliTRDrecoTask.h>
// #include <../PWGPP/TRD/AliTRDpwgppHelper.h>

ClassImp(AliEveTRDTrackList)
TFile *AliEveTRDTrackList::fgData(NULL);
Expand Down Expand Up @@ -267,40 +267,40 @@ void AliEveTRDTrackList::AddStandardContent()
// use the return value of AddMacro (NOT_EXIST_ERROR is returned, if file does not exist)
// (-> You can also check for other return values (see AddMacro(...)))

const Char_t *libs[] = {"libANALYSIS.so", "libANALYSISalice.so", "libCORRFW", "libTENDER.so", "libPWGPP.so"};
Int_t nlibs = static_cast<Int_t>(sizeof(libs)/sizeof(Char_t *));
for(Int_t ilib=0; ilib<nlibs; ilib++){
if(gSystem->Load(libs[ilib]) >= 0) continue;
AliError(Form("Fail loading %s.", libs[ilib]));
return;
}

const Char_t *taskClassName[] = {"AliTRDcheckDET", "AliTRDresolution"};
AliTRDrecoTask *task(NULL);
TList *fPlots(NULL);
for(Int_t it=0; it<2; it++){
TClass c(taskClassName[it]);
task = (AliTRDrecoTask*)c.New();
task->InitFunctorList();
task->SetMCdata(kFALSE);
if(!(fPlots = task->GetPlotFunctors())){
AliWarning(Form("No Track functors defined for task \"%s\"", taskClassName[it]));
delete task;
continue;
}
if(!(task->Histos())){
AliWarning(Form("No Ref Histograms defined for task \"%s\"", taskClassName[it]));
delete task;
continue;
}

// export task to CINT and add functions
gROOT->ProcessLine(Form("%s* %s = (%s*)%p;", taskClassName[it], task->GetName(), taskClassName[it], (void*)task));
TIter iter(fPlots); TMethodCall *m(NULL);
while((m = dynamic_cast<TMethodCall*>(iter()))){
AddMacroFast("", Form("%s->%s", task->GetName(), m->GetMethodName()), kSingleTrackHisto);
}
}
// const Char_t *libs[] = {"libANALYSIS.so", "libANALYSISalice.so", "libCORRFW", "libTENDER.so", "libPWGPP.so"};
// Int_t nlibs = static_cast<Int_t>(sizeof(libs)/sizeof(Char_t *));
// for(Int_t ilib=0; ilib<nlibs; ilib++){
// if(gSystem->Load(libs[ilib]) >= 0) continue;
// AliError(Form("Fail loading %s.", libs[ilib]));
// return;
// }
//
// const Char_t *taskClassName[] = {"AliTRDcheckDET", "AliTRDresolution"};
// AliTRDrecoTask *task(NULL);
// TList *fPlots(NULL);
// for(Int_t it=0; it<2; it++){
// TClass c(taskClassName[it]);
// task = (AliTRDrecoTask*)c.New();
// task->InitFunctorList();
// task->SetMCdata(kFALSE);
// if(!(fPlots = task->GetPlotFunctors())){
// AliWarning(Form("No Track functors defined for task \"%s\"", taskClassName[it]));
// delete task;
// continue;
// }
// if(!(task->Histos())){
// AliWarning(Form("No Ref Histograms defined for task \"%s\"", taskClassName[it]));
// delete task;
// continue;
// }
//
// // export task to CINT and add functions
// gROOT->ProcessLine(Form("%s* %s = (%s*)%p;", taskClassName[it], task->GetName(), taskClassName[it], (void*)task));
// TIter iter(fPlots); TMethodCall *m(NULL);
// while((m = dynamic_cast<TMethodCall*>(iter()))){
// AddMacroFast("", Form("%s->%s", task->GetName(), m->GetMethodName()), kSingleTrackHisto);
// }
// }
}


Expand Down
2 changes: 1 addition & 1 deletion ITS/UPGRADE/testITSUv1/CreateITSUv1.C
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ void CreateITSUv1()
//
const int kNWrapVol = 3;
const double wrpRMin[kNWrapVol] = { 2.1, 15.0, 32.0};
const double wrpRMax[kNWrapVol] = { 7.0, 27.0, 43.0};
const double wrpRMax[kNWrapVol] = { 7.0, 27.0+2.5, 43.0+1.5};
const double wrpZSpan[kNWrapVol] = {28.0, 96.0, 158.0};
ITS->SetNWrapVolumes(kNWrapVol); // define wrapper volumes for layers
for (int iw=0;iw<kNWrapVol;iw++) ITS->DefineWrapVolume(iw,wrpRMin[iw],wrpRMax[iw],wrpZSpan[iw]);
Expand Down
2 changes: 1 addition & 1 deletion ITS/UPGRADE/testITSUv1/CreateITSUv1_tdr7.C
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ void CreateITSUv1_tdr7()
//
const int kNWrapVol = 3;
const double wrpRMin[kNWrapVol] = { 2.1, 15.0+dltR, 32.0};
const double wrpRMax[kNWrapVol] = { 7.0, 27.0+dltR, 43.0};
const double wrpRMax[kNWrapVol] = { 7.0, 27.0+dltR+2.3, 43.0+1.5};
const double wrpZSpan[kNWrapVol] = {28.0, 96.0+dltZ, 158.0};
ITS->SetNWrapVolumes(kNWrapVol); // define wrapper volumes for layers
for (int iw=0;iw<kNWrapVol;iw++) ITS->DefineWrapVolume(iw,wrpRMin[iw],wrpRMax[iw],wrpZSpan[iw]);
Expand Down
33 changes: 21 additions & 12 deletions MFT/AliMFTTrackerMU.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,13 @@ Int_t AliMFTTrackerMU::Clusters2Tracks(AliESDEvent *event) {
if (fMUONTrack) delete fMUONTrack;
fMUONTrack = new AliMUONTrack();

AliMUONESDInterface::ESDToMUON(*esdTrack, *fMUONTrack, kTRUE); // last arguments should be kTRUE or kFALSE??
AliMUONESDInterface::ESDToMUON(*esdTrack, *fMUONTrack, kFALSE);

if (!fMUONTrack->GetTrackParamAtCluster()->First()) {
AliInfo("Skipping track, no parameters available!!!");
iTrack++;
continue;
}

// the track we are going to build, starting from fMUONTrack and adding the MFT clusters
AliMuonForwardTrack *track = new ((*fCandidateTracks)[0]) AliMuonForwardTrack();
Expand Down Expand Up @@ -306,17 +312,20 @@ Int_t AliMFTTrackerMU::Clusters2Tracks(AliESDEvent *event) {

// waiting for the commit of the new version of AliESDMuonGlobalTrack...

// myESDTrack -> SetChi2OverNdf(newTrack->GetChi2OverNdf());
// myESDTrack -> SetCharge(newTrack->GetCharge());
// myESDTrack -> SetMatchTrigger(newTrack->GetMatchTrigger());
// myESDTrack -> SetFirstTrackingPoint(newTrack->GetMFTCluster(0)->GetX(), newTrack->GetMFTCluster(0)->GetY(), newTrack->GetMFTCluster(0)->GetZ());
// myESDTrack -> SetXYAtVertex(newTrack->GetOffsetX(vertex[0], vertex[2]), newTrack->GetOffsetX(vertex[1], vertex[2]));
// myESDTrack -> SetRAtAbsorberEnd(newTrack->GetRAtAbsorberEnd());
// myESDTrack -> SetChi2MatchTrigger(esdTrack->GetChi2MatchTrigger());
// myESDTrack -> SetMuonClusterMap(esdTrack->GetMuonClusterMap());
// myESDTrack -> SetHitsPatternInTrigCh(esdTrack->GetHitsPatternInTrigCh());
// myESDTrack -> SetHitsPatternInTrigChTrk(esdTrack->GetHitsPatternInTrigChTrk());
// myESDTrack -> Connected(esdTrack->IsConnected());
myESDTrack -> SetLabel(newTrack->GetMCLabel());
myESDTrack -> SetChi2OverNdf(newTrack->GetChi2OverNdf());
myESDTrack -> SetCharge(newTrack->GetCharge());
myESDTrack -> SetMatchTrigger(newTrack->GetMatchTrigger());
myESDTrack -> SetNMFTClusters(newTrack->GetNMFTClusters());
myESDTrack -> SetNWrongMFTClustersMC(newTrack->GetNWrongClustersMC());
myESDTrack -> SetFirstTrackingPoint(newTrack->GetMFTCluster(0)->GetX(), newTrack->GetMFTCluster(0)->GetY(), newTrack->GetMFTCluster(0)->GetZ());
myESDTrack -> SetXYAtVertex(newTrack->GetOffsetX(vertex[0], vertex[2]), newTrack->GetOffsetX(vertex[1], vertex[2]));
myESDTrack -> SetRAtAbsorberEnd(newTrack->GetRAtAbsorberEnd());
myESDTrack -> SetChi2MatchTrigger(esdTrack->GetChi2MatchTrigger());
myESDTrack -> SetMuonClusterMap(esdTrack->GetMuonClusterMap());
myESDTrack -> SetHitsPatternInTrigCh(esdTrack->GetHitsPatternInTrigCh());
myESDTrack -> SetHitsPatternInTrigChTrk(esdTrack->GetHitsPatternInTrigChTrk());
myESDTrack -> Connected(esdTrack->IsConnected());

//---------------------------------------------------------------------------------

Expand Down
53 changes: 28 additions & 25 deletions MFT/runMFT.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,48 +14,51 @@ SIMDIR="generated" # sub-directory where to move simulated files prior to reco
# Copy *ALL* the macros we need in the output directory, not to mess
# with our source dir in any way.
cp $ALICE_ROOT/MFT/.rootrc \
$ALICE_ROOT/MFT/Config.C \
$ALICE_ROOT/Config.C \
$ALICE_ROOT/MFT/rootlogon.C \
$ALICE_ROOT/MFT/runReconstruction.C \
$ALICE_ROOT/MFT/runSimulation.C \
$ALICE_ROOT/MFT/AliMuonForwardTrackFinder.C \
$ALICE_ROOT/MFT/FilterMuonGlobalTracks.C \
$ALICE_ROOT/runReconstruction.C \
$ALICE_ROOT/runSimulation.C \
$ALICE_ROOT/MFT/AliMFTClusterQA.C \
$ALICE_ROOT/MFT/AliMFTGeometry.root \
$ALICE_ROOT/AODtrain.C \
$OUTDIR
cd $OUTDIR

###############################################################################
#
# Performing SIMULATION
#
###############################################################################
echo "Running simulation ..."
aliroot -l -b -q runSimulation.C\($SEED,$NEVENTS,\""$SIMCONFIG"\",$RUN\) >$OUTDIR/testSim.out 2>$OUTDIR/testSim.err
mkdir $SIMDIR
echo "Copying generated files to $SIMDIR"
cp $OUTDIR/Kinematics*.root $OUTDIR/galice.root $OUTDIR/TrackRefs*.root $OUTDIR/$SIMDIR

echo "Running simulation ..."
aliroot -l -b -q runSimulation.C\($SEED,$NEVENTS,\""$SIMCONFIG"\",$RUN\) >$OUTDIR/testSim.out 2>$OUTDIR/testSim.err
mkdir $SIMDIR
echo "Copying generated files to $SIMDIR"
cp $OUTDIR/Kinematics*.root $OUTDIR/galice.root $OUTDIR/TrackRefs*.root $OUTDIR/$SIMDIR

###############################################################################
#
# Performing RECONSTRUCTION
# Performing RECONSTRUCTION and QA
#
###############################################################################
rm -f AliESD*.root *QA*.root
echo "Running reconstruction ..."
cd $OUTDIR

aliroot -l -b -q runReconstruction.C\($SEED,\""SAVEDIGITS"\"\) >$OUTDIR/testReco.out 2>$OUTDIR/testReco.err

aliroot -l -b -q AliMFTClusterQA.C\(\) >$OUTDIR/mftClusterQA.out 2>$OUTDIR/mftClusterQA.err

aliroot -l -b -q AliMuonForwardTrackFinder.C\($RUN,1\) >$OUTDIR/globalTracking.withBransonCorrection.out 2>$OUTDIR/globalTracking.withBransonCorrection.err
mv MuonGlobalTracking.QA.run$RUN.root MuonGlobalTracking.QA.run$RUN.withBransonCorrection.root
mv MuonGlobalTracks.root MuonGlobalTracks.withBransonCorrection.root
rm -f AliESD*.root *QA*.root
echo "Running reconstruction ..."
cd $OUTDIR

aliroot -l -b -q AliMuonForwardTrackFinder.C\($RUN,0\) >$OUTDIR/globalTracking.withoutBransonCorrection.out 2>$OUTDIR/globalTracking.withoutBransonCorrection.err
mv MuonGlobalTracking.QA.run$RUN.root MuonGlobalTracking.QA.run$RUN.withoutBransonCorrection.root
mv MuonGlobalTracks.root MuonGlobalTracks.withoutBransonCorrection.root
aliroot -l -b -q runReconstruction.C\($SEED,\""SAVEDIGITS"\"\) >$OUTDIR/testReco.out 2>$OUTDIR/testReco.err
aliroot -l -b -q AliMFTClusterQA.C\(\) >$OUTDIR/mftClusterQA.out 2>$OUTDIR/mftClusterQA.err

aliroot -l -b -q FilterMuonGlobalTracks.C+\(\) >$OUTDIR/filterGlobalTracks.out 2>$OUTDIR/filterGlobalTracks.err
###############################################################################
#
# Creating AODs
#
###############################################################################

echo "Creating AODs ..."
echo aliroot -l -b -q AODtrain.C
aliroot -l -b -q AODtrain.C >$OUTDIR/AODLog.out 2>$OUTDIR/AODLog.err

echo "Finished"
echo "... see results in $OUTDIR"
Expand Down
33 changes: 33 additions & 0 deletions STEER/AOD/AliAODEvent.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,39 @@ Int_t AliAODEvent::GetNumberOfMuonTracks() const
return nMuonTracks;
}

//______________________________________________________________________________
Int_t AliAODEvent::GetMuonGlobalTracks(TRefArray *muonGlobalTracks) const // AU
{
// fills the provided TRefArray with all found muon global tracks

muonGlobalTracks->Clear();

AliAODTrack *track = 0;
for (Int_t iTrack = 0; iTrack < GetNTracks(); iTrack++) {
track = GetTrack(iTrack);
if (track->IsMuonGlobalTrack()) {
muonGlobalTracks->Add(track);
}
}

return muonGlobalTracks->GetEntriesFast();
}


//______________________________________________________________________________
Int_t AliAODEvent::GetNumberOfMuonGlobalTracks() const // AU
{
// get number of muon global tracks
Int_t nMuonGlobalTracks=0;
for (Int_t iTrack = 0; iTrack < GetNTracks(); iTrack++) {
if ((GetTrack(iTrack))->IsMuonGlobalTrack()) {
nMuonGlobalTracks++;
}
}

return nMuonGlobalTracks;
}

//______________________________________________________________________________
void AliAODEvent::ReadFromTree(TTree *tree, Option_t* opt /*= ""*/)
{
Expand Down
2 changes: 2 additions & 0 deletions STEER/AOD/AliAODEvent.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ class AliAODEvent : public AliVEvent {
Int_t AddTrack(const AliAODTrack* trk);
Int_t GetMuonTracks(TRefArray *muonTracks) const;
Int_t GetNumberOfMuonTracks() const;
Int_t GetMuonGlobalTracks(TRefArray *muonGlobalTracks) const; // AU
Int_t GetNumberOfMuonGlobalTracks() const; // AU

// -- Vertex
TClonesArray *GetVertices() const { return fVertices; }
Expand Down
14 changes: 13 additions & 1 deletion STEER/AOD/AliAODHeader.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ AliAODHeader::AliAODHeader() :
fRefMultNeg(-999),
fNMuons(0),
fNDimuons(0),
fNGlobalMuons(0), // AU
fNGlobalDimuons(0), // AU
fEventType(0),
fOrbitNumber(0),
fPeriodNumber(0),
Expand Down Expand Up @@ -118,6 +120,8 @@ AliAODHeader::AliAODHeader(Int_t nRun,
fRefMultNeg(-999),
fNMuons(0),
fNDimuons(0),
fNGlobalMuons(0), // AU
fNGlobalDimuons(0), // AU
fEventType(0),
fOrbitNumber(nOrbit),
fPeriodNumber(nPeriod),
Expand Down Expand Up @@ -179,7 +183,9 @@ AliAODHeader::AliAODHeader(Int_t nRun,
const Float_t *vzeroEqFactors,
const Char_t *title,
Int_t nMuons,
Int_t nDimuons) :
Int_t nDimuons,
Int_t nGlobalMuons, // AU
Int_t nGlobalDimuons) : // AU
AliVHeader(),
fMagneticField(magField),
fMuonMagFieldScale(muonMagFieldScale),
Expand All @@ -202,6 +208,8 @@ AliAODHeader::AliAODHeader(Int_t nRun,
fRefMultNeg(refMultNeg),
fNMuons(nMuons),
fNDimuons(nDimuons),
fNGlobalMuons(nGlobalMuons), // AU
fNGlobalDimuons(nGlobalDimuons), // AU
fEventType(evttype),
fOrbitNumber(nOrbit),
fPeriodNumber(nPeriod),
Expand Down Expand Up @@ -272,6 +280,8 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
fRefMultNeg(hdr.fRefMultNeg),
fNMuons(hdr.fNMuons),
fNDimuons(hdr.fNDimuons),
fNGlobalMuons(hdr.fNGlobalMuons), // AU
fNGlobalDimuons(hdr.fNGlobalDimuons), // AU
fEventType(hdr.fEventType),
fOrbitNumber(hdr.fOrbitNumber),
fPeriodNumber(hdr.fPeriodNumber),
Expand Down Expand Up @@ -358,6 +368,8 @@ AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
fTriggerCluster = hdr.fTriggerCluster;
fNMuons = hdr.fNMuons;
fNDimuons = hdr.fNDimuons;
fNGlobalMuons = hdr.fNGlobalMuons; // AU
fNGlobalDimuons = hdr.fNGlobalDimuons; // AU
fDiamondZ = hdr.fDiamondZ;
fDiamondSig2Z = hdr.fDiamondSig2Z;
fOfflineTrigger = hdr.fOfflineTrigger;
Expand Down
12 changes: 10 additions & 2 deletions STEER/AOD/AliAODHeader.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ class AliAODHeader : public AliVHeader {
const Float_t *vzeroEqFactors,
const Char_t *title="",
Int_t nMuons=0,
Int_t nDimuons=0);
Int_t nDimuons=0,
Int_t nGlobalMuons=0, // AU
Int_t nGlobalDimuons=0); // AU

virtual ~AliAODHeader();
AliAODHeader(const AliAODHeader& evt);
Expand Down Expand Up @@ -88,6 +90,8 @@ class AliAODHeader : public AliVHeader {
Int_t GetRefMultiplicityNeg() const { return fRefMultNeg; }
Int_t GetNumberOfMuons() const { return fNMuons; }
Int_t GetNumberOfDimuons() const { return fNDimuons; }
Int_t GetNumberOfGlobalMuons() const { return fNGlobalMuons; } // AU
Int_t GetNumberOfGlobalDimuons() const { return fNGlobalDimuons; } // AU
Int_t GetRefMultiplicityComb05() const { return fRefMultComb05; }
Int_t GetRefMultiplicityComb08() const { return fRefMultComb08; }

Expand Down Expand Up @@ -135,6 +139,8 @@ class AliAODHeader : public AliVHeader {
void SetRefMultiplicityNeg(Int_t refMultNeg) { fRefMultNeg = refMultNeg; }
void SetNumberOfMuons(Int_t nMuons) { fNMuons = nMuons; }
void SetNumberOfDimuons(Int_t nDimuons) { fNDimuons = nDimuons; }
void SetNumberOfGlobalMuons(Int_t nGlobalMuons) { fNGlobalMuons = nGlobalMuons; } // AU
void SetNumberOfGlobalDimuons(Int_t nGlobalDimuons) { fNGlobalDimuons = nGlobalDimuons; } // AU
void SetRefMultiplicityComb05(Int_t refMult) { fRefMultComb05 = refMult; }
void SetRefMultiplicityComb08(Int_t refMult) { fRefMultComb08 = refMult; }

Expand Down Expand Up @@ -226,6 +232,8 @@ class AliAODHeader : public AliVHeader {
Int_t fRefMultNeg; // reference multiplicity of negative particles
Int_t fNMuons; // number of muons in the forward spectrometer
Int_t fNDimuons; // number of dimuons in the forward spectrometer
Int_t fNGlobalMuons; // number of muons in the forward spectrometer + MFT // AU
Int_t fNGlobalDimuons; // number of dimuons in the forward spectrometer + MFT // AU
UInt_t fEventType; // Type of Event
UInt_t fOrbitNumber; // Orbit Number
UInt_t fPeriodNumber; // Period Number
Expand Down Expand Up @@ -254,7 +262,7 @@ class AliAODHeader : public AliVHeader {
Float_t fT0spread[kT0SpreadSize]; // spread of time distributions: (TOA+T0C/2), T0A, T0C, (T0A-T0C)/2
TBits fIRInt2InteractionsMap; // map of the Int2 events (normally 0TVX) near the event, that's Int2Id-EventId in a -90 to 90 window
TBits fIRInt1InteractionsMap; // map of the Int1 events (normally V0A&V0C) near the event, that's Int1Id-EventId in a -90 to 90 window
ClassDef(AliAODHeader, 23);
ClassDef(AliAODHeader, 24);
};
inline
void AliAODHeader::SetCentrality(const AliCentrality* cent) {
Expand Down
Loading

0 comments on commit ace36fa

Please sign in to comment.