From ea77036bf57d7ffd66b1e0dfcd2ada229897b592 Mon Sep 17 00:00:00 2001 From: akisiel Date: Fri, 12 Oct 2007 14:57:18 +0000 Subject: [PATCH] Port changes from v4-06-Release to the HEAD --- .../AliFemto/AliFemtoBasicEventCut.cxx | 39 +-- .../AliFemto/AliFemtoBasicEventCut.h | 22 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h | 4 +- .../AliFemto/AliFemtoDummyPairCut.cxx | 18 +- .../AliFemto/AliFemtoDummyPairCut.h | 15 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.cxx | 62 ++++ PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h | 3 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h | 2 +- .../AliFemto/AliFemtoEventReader.cxx | 4 + .../FEMTOSCOPY/AliFemto/AliFemtoEventReader.h | 13 +- .../AliFemto/AliFemtoEventReaderESD.cxx | 282 ++++++------------ .../AliFemto/AliFemtoEventReaderESD.h | 30 +- .../AliFemto/AliFemtoEventReaderESDChain.cxx | 278 +++++++++-------- .../AliFemto/AliFemtoEventReaderESDChain.h | 14 +- .../AliFemto/AliFemtoModelCorrFctn.cxx | 11 + .../AliFemto/AliFemtoModelCorrFctn.h | 9 +- .../AliFemtoModelGausLCMSFreezeOutGenerator.h | 2 +- .../AliFemto/AliFemtoModelHiddenInfo.cxx | 2 +- .../AliFemto/AliFemtoModelWeightGenerator.cxx | 3 + .../AliFemto/AliFemtoModelWeightGenerator.h | 8 +- .../AliFemtoModelWeightGeneratorLednicky.cxx | 61 ++-- PWG2/FEMTOSCOPY/AliFemto/AliFemtoPair.cxx | 2 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h | 2 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticle.h | 5 +- .../FEMTOSCOPY/AliFemto/AliFemtoParticleCut.h | 2 +- .../FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx | 20 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.h | 18 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.cxx | 34 ++- PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.h | 21 +- .../AliFemto/AliFemtoVertexAnalysis.cxx | 37 ++- .../AliFemto/AliFemtoVertexAnalysis.h | 13 +- .../AliFemto/AliFemtoVertexMultAnalysis.cxx | 60 ++-- .../AliFemto/AliFemtoVertexMultAnalysis.h | 26 +- PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.h | 8 +- PWG2/FEMTOSCOPY/AliFemto/AliFmPhysicalHelix.h | 4 +- PWG2/FEMTOSCOPY/AliFemto/SystemOfUnits.h | 8 +- 36 files changed, 626 insertions(+), 516 deletions(-) diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.cxx index 0dd854797dd..18bf7d2491a 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.cxx @@ -6,7 +6,7 @@ //////////////////////////////////////////////////////////////////////////////// #include "AliFemtoBasicEventCut.h" -#include +//#include #ifdef __ROOT__ ClassImp(AliFemtoBasicEventCut) @@ -15,37 +15,40 @@ ClassImp(AliFemtoBasicEventCut) AliFemtoBasicEventCut::AliFemtoBasicEventCut() : fNEventsPassed(0), fNEventsFailed(0) { - /* no-op */ + // Default constructor } //------------------------------ -//AliFemtoBasicEventCut::~AliFemtoBasicEventCut(){ -// /* noop */ -//} +AliFemtoBasicEventCut::~AliFemtoBasicEventCut(){ + // Default destructor +} //------------------------------ bool AliFemtoBasicEventCut::Pass(const AliFemtoEvent* event){ + // Pass events if they fall within the multiplicity and z-vertex + // position range. Fail otherwise int mult = event->NumberOfTracks(); - double VertexZPos = event->PrimVertPos().z(); + double vertexZPos = event->PrimVertPos().z(); cout << "AliFemtoBasicEventCut:: mult: " << fEventMult[0] << " < " << mult << " < " << fEventMult[1] << endl; - cout << "AliFemtoBasicEventCut:: VertexZPos: " << fVertZPos[0] << " < " << VertexZPos << " < " << fVertZPos[1] << endl; + cout << "AliFemtoBasicEventCut:: VertexZPos: " << fVertZPos[0] << " < " << vertexZPos << " < " << fVertZPos[1] << endl; bool goodEvent = ((mult > fEventMult[0]) && (mult < fEventMult[1]) && - (VertexZPos > fVertZPos[0]) && - (VertexZPos < fVertZPos[1])); + (vertexZPos > fVertZPos[0]) && + (vertexZPos < fVertZPos[1])); goodEvent ? fNEventsPassed++ : fNEventsFailed++ ; cout << "AliFemtoBasicEventCut:: return : " << goodEvent << endl; return (goodEvent); } //------------------------------ AliFemtoString AliFemtoBasicEventCut::Report(){ - string Stemp; - char Ctemp[100]; - sprintf(Ctemp,"\nMultiplicity:\t %d-%d",fEventMult[0],fEventMult[1]); - Stemp = Ctemp; - sprintf(Ctemp,"\nVertex Z-position:\t %E-%E",fVertZPos[0],fVertZPos[1]); - Stemp += Ctemp; - sprintf(Ctemp,"\nNumber of events which passed:\t%ld Number which failed:\t%ld",fNEventsPassed,fNEventsFailed); - Stemp += Ctemp; - AliFemtoString returnThis = Stemp; + // Prepare report + string stemp; + char ctemp[100]; + sprintf(ctemp,"\nMultiplicity:\t %d-%d",fEventMult[0],fEventMult[1]); + stemp = ctemp; + sprintf(ctemp,"\nVertex Z-position:\t %E-%E",fVertZPos[0],fVertZPos[1]); + stemp += ctemp; + sprintf(ctemp,"\nNumber of events which passed:\t%ld Number which failed:\t%ld",fNEventsPassed,fNEventsFailed); + stemp += ctemp; + AliFemtoString returnThis = stemp; return returnThis; } diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.h index 2835283a7f5..5dabd214958 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoBasicEventCut.h @@ -5,8 +5,8 @@ // // //////////////////////////////////////////////////////////////////////////////// -#ifndef AliFemtoBasicEventCut_hh -#define AliFemtoBasicEventCut_hh +#ifndef ALIFEMTOBASICEVENTCUT_H +#define ALIFEMTOBASICEVENTCUT_H // do I need these lines ? //#ifndef StMaker_H @@ -20,16 +20,16 @@ class AliFemtoBasicEventCut : public AliFemtoEventCut { public: AliFemtoBasicEventCut(); - AliFemtoBasicEventCut(AliFemtoBasicEventCut&); - //~AliFemtoBasicEventCut(); + AliFemtoBasicEventCut(AliFemtoBasicEventCut& c); + virtual ~AliFemtoBasicEventCut(); void SetEventMult(const int& lo,const int& hi); void SetVertZPos(const float& lo, const float& hi); - int NEventsPassed(); - int NEventsFailed(); + int NEventsPassed() const; + int NEventsFailed() const; virtual AliFemtoString Report(); - virtual bool Pass(const AliFemtoEvent*); + virtual bool Pass(const AliFemtoEvent* event); AliFemtoBasicEventCut* Clone(); @@ -38,8 +38,8 @@ private: // here are the quantities I want to cut on... int fEventMult[2]; // range of multiplicity float fVertZPos[2]; // range of z-position of vertex - long fNEventsPassed; - long fNEventsFailed; + long fNEventsPassed; // Number of events checked by this cut that passed + long fNEventsFailed; // Number of events checked by this cut that failed #ifdef __ROOT__ ClassDef(AliFemtoBasicEventCut, 1) @@ -49,8 +49,8 @@ private: // here are the quantities I want to cut on... inline void AliFemtoBasicEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;} inline void AliFemtoBasicEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;} -inline int AliFemtoBasicEventCut::NEventsPassed() {return fNEventsPassed;} -inline int AliFemtoBasicEventCut::NEventsFailed() {return fNEventsFailed;} +inline int AliFemtoBasicEventCut::NEventsPassed() const {return fNEventsPassed;} +inline int AliFemtoBasicEventCut::NEventsFailed() const {return fNEventsFailed;} inline AliFemtoBasicEventCut* AliFemtoBasicEventCut::Clone() { AliFemtoBasicEventCut* c = new AliFemtoBasicEventCut(*this); return c;} inline AliFemtoBasicEventCut::AliFemtoBasicEventCut(AliFemtoBasicEventCut& c) : AliFemtoEventCut(c), fNEventsPassed(0), fNEventsFailed(0) { fEventMult[0] = c.fEventMult[0]; diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h index 7d356935794..0423e6d2d79 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h @@ -36,7 +36,7 @@ public: protected: AliFemtoAnalysis* fyAnalysis; -private: + private: }; @@ -44,7 +44,7 @@ inline void AliFemtoCorrFctn::AddRealPair(AliFemtoPair*) { cout << "Not implemen inline void AliFemtoCorrFctn::AddMixedPair(AliFemtoPair*) { cout << "Not implemented" << endl; } inline AliFemtoCorrFctn::AliFemtoCorrFctn(const AliFemtoCorrFctn& c):fyAnalysis(0) {} -inline AliFemtoCorrFctn::AliFemtoCorrFctn(): fyAnalysis(0) {/* no-op */}; +inline AliFemtoCorrFctn::AliFemtoCorrFctn(): fyAnalysis(0) {/* no-op */} inline void AliFemtoCorrFctn::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; } inline AliFemtoCorrFctn& AliFemtoCorrFctn::operator=(const AliFemtoCorrFctn& aCorrFctn) { if (this == &aCorrFctn) return *this; fyAnalysis = aCorrFctn.fyAnalysis; return *this; } diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.cxx index e33d6e4274a..50d353c1cac 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.cxx @@ -11,6 +11,12 @@ *************************************************************************** * * $Log$ + * Revision 1.2.2.1 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.2 2007/05/22 09:01:42 akisiel + * Add the possibiloity to save cut settings in the ROOT file + * * Revision 1.1 2007/05/16 10:22:11 akisiel * Making the directory structure of AliFemto flat. All files go into one common directory * @@ -64,17 +70,19 @@ AliFemtoDummyPairCut::AliFemtoDummyPairCut() : //} //__________________ bool AliFemtoDummyPairCut::Pass(const AliFemtoPair* pair){ + // Pass all pairs bool temp = true; temp ? fNPairsPassed++ : fNPairsFailed++; return true; } //__________________ AliFemtoString AliFemtoDummyPairCut::Report(){ - string Stemp = "AliFemtoDummy Pair Cut - total dummy-- always returns true\n"; - char Ctemp[100]; - sprintf(Ctemp,"Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed); - Stemp += Ctemp; - AliFemtoString returnThis = Stemp; + // prepare a report from the execution + string stemp = "AliFemtoDummy Pair Cut - total dummy-- always returns true\n"; + char ctemp[100]; + sprintf(ctemp,"Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed); + stemp += ctemp; + AliFemtoString returnThis = stemp; return returnThis; } //__________________ diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.h index af7d5462116..258d6837362 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoDummyPairCut.h @@ -11,6 +11,12 @@ *************************************************************************** * * $Log$ + * Revision 1.2.2.1 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.2 2007/05/22 09:01:42 akisiel + * Add the possibiloity to save cut settings in the ROOT file + * * Revision 1.1 2007/05/16 10:22:11 akisiel * Making the directory structure of AliFemto flat. All files go into one common directory * @@ -64,8 +70,8 @@ **************************************************************************/ -#ifndef AliFemtoDummyPairCut_hh -#define AliFemtoDummyPairCut_hh +#ifndef ALIFEMTODUMMYPAIRCUT_H +#define ALIFEMTODUMMYPAIRCUT_H // do I need these lines ? //#ifndef StMaker_H @@ -85,10 +91,9 @@ public: virtual TList *ListSettings(); AliFemtoDummyPairCut* Clone(); - private: - long fNPairsPassed; - long fNPairsFailed; + long fNPairsPassed; // number of pairs analyzed by this cut that passed + long fNPairsFailed; // number of pairs analyzed by this cut that failed #ifdef __ROOT__ ClassDef(AliFemtoDummyPairCut, 1) diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.cxx index 09e7c69a1d9..8795dcf5877 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.cxx @@ -123,6 +123,68 @@ AliFemtoEvent::AliFemtoEvent(const AliFemtoEvent& ev, AliFemtoTrackCut* tCut, Al } } } +//___________________ +AliFemtoEvent::AliFemtoEvent(const AliFemtoEvent& ev): + fEventNumber(0), + fRunNumber(0), + fNumberOfTracks(0), + fMagneticField(0), + fPrimVertPos(0,0,0), + fTrackCollection(0), + fV0Collection(0), + fXiCollection(0), + fKinkCollection(0), + fZDCN1Energy(0), + fZDCP1Energy(0), + fZDCN2Energy(0), + fZDCP2Energy(0), + fZDCEMEnergy(0), + fZDCParticipants(0), + fTriggerMask(0), + fTriggerCluster(0) +{ + // copy constructor + fEventNumber = ev.fEventNumber; + fRunNumber = ev.fRunNumber; + + fZDCN1Energy=ev.fZDCN1Energy; + fZDCP1Energy=ev.fZDCP1Energy; + fZDCN2Energy=ev.fZDCN2Energy; + fZDCP2Energy=ev.fZDCP2Energy; + fZDCEMEnergy=ev.fZDCEMEnergy; + fZDCParticipants=ev.fZDCParticipants; + fNumberOfTracks = ev.fNumberOfTracks; + fMagneticField= ev.fMagneticField; + + fTriggerMask=ev.fTriggerMask; // Trigger Type (mask) + fTriggerCluster=ev.fTriggerCluster; + // create collections + fTrackCollection = new AliFemtoTrackCollection; + fV0Collection = new AliFemtoV0Collection; + fXiCollection = new AliFemtoXiCollection; + fKinkCollection = new AliFemtoKinkCollection; + // copy track collection + for ( AliFemtoTrackIterator tIter=ev.fTrackCollection->begin(); tIter!=ev.fTrackCollection->end(); tIter++) { + AliFemtoTrack* trackCopy = new AliFemtoTrack(**tIter); + fTrackCollection->push_back(trackCopy); + } + // copy v0 collection + for ( AliFemtoV0Iterator vIter=ev.fV0Collection->begin(); vIter!=ev.fV0Collection->end(); vIter++) { + AliFemtoV0* v0Copy = new AliFemtoV0(**vIter); + fV0Collection->push_back(v0Copy); + } + // copy xi collection + for ( AliFemtoXiIterator xIter=ev.fXiCollection->begin(); xIter!=ev.fXiCollection->end(); xIter++) { + AliFemtoXi* xiCopy = new AliFemtoXi(**xIter); + fXiCollection->push_back(xiCopy); + } + // copy kink collection + for ( AliFemtoKinkIterator kIter=ev.fKinkCollection->begin(); kIter!=ev.fKinkCollection->end(); kIter++) { + //cout << " kinkCut passed " << endl; + AliFemtoKink* kinkCopy = new AliFemtoKink(**kIter); + fKinkCollection->push_back(kinkCopy); + } +} //______________________________ AliFemtoEvent& AliFemtoEvent::operator=(const AliFemtoEvent& aEvent) { diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h index d36ed3a25cf..7f7003934a2 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEvent.h @@ -40,7 +40,8 @@ public: // #endif #endif - AliFemtoEvent(const AliFemtoEvent&, AliFemtoTrackCut* =0, AliFemtoV0Cut* =0, AliFemtoXiCut* =0, AliFemtoKinkCut* =0); // copy constructor with track and v0 cuts + AliFemtoEvent(const AliFemtoEvent& ev, AliFemtoTrackCut* tCut=0, AliFemtoV0Cut* vCut=0, AliFemtoXiCut* xCut=0, AliFemtoKinkCut* kCut=0); // copy constructor with track and v0 cuts + AliFemtoEvent(const AliFemtoEvent& ev); // copy constructor ~AliFemtoEvent(); AliFemtoEvent& operator=(const AliFemtoEvent& aEvent); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h index 29229d9f698..2507f81f7a9 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h @@ -41,6 +41,6 @@ protected: inline AliFemtoEventCut::AliFemtoEventCut(const AliFemtoEventCut& c) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { } inline void AliFemtoEventCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; } -inline AliFemtoEventCut::AliFemtoEventCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0){}; // default constructor. - Users should write their own +inline AliFemtoEventCut::AliFemtoEventCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0){} // default constructor. - Users should write their own inline AliFemtoEventCut& AliFemtoEventCut::operator=(const AliFemtoEventCut& aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; } #endif diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.cxx index 92f0876b4ed..b1d160e415d 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.cxx @@ -1,6 +1,8 @@ //////////////////////////////////////////////////////////////////////////////// +/// /// /// AliFemtoEventReader - the pure virtual base class for the event reader /// /// All event readers must inherit from this one /// +/// /// //////////////////////////////////////////////////////////////////////////////// #include "AliFemtoEvent.h" #include "AliFemtoEventCut.h" @@ -23,6 +25,7 @@ AliFemtoEventReader::AliFemtoEventReader(const AliFemtoEventReader& aReader): fReaderStatus(0), fDebug(0) { + // Copy constructor fEventCut = aReader.fEventCut; fTrackCut = aReader.fTrackCut; fV0Cut = aReader.fV0Cut; @@ -34,6 +37,7 @@ AliFemtoEventReader::AliFemtoEventReader(const AliFemtoEventReader& aReader): AliFemtoEventReader& AliFemtoEventReader::operator=(const AliFemtoEventReader& aReader) { + // Assignment operator if (this == &aReader) return *this; diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.h index 585fe4cd818..c66484625b4 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReader.h @@ -2,8 +2,9 @@ /// AliFemtoEventReader - the pure virtual base class for the event reader /// /// All event readers must inherit from this one /// //////////////////////////////////////////////////////////////////////////////// -#ifndef AliFemtoEventReader_hh -#define AliFemtoEventReader_hh +#ifndef ALIFEMTOEVENTREADER_H +#define ALIFEMTOEVENTREADER_H + class AliFemtoEvent; class AliFemtoEventCut; class AliFemtoTrackCut; @@ -11,12 +12,12 @@ class AliFemtoV0Cut; class AliFemtoXiCut; class AliFemtoKinkCut; +#include "AliFemtoString.h" #include #include #include -using namespace std; -#include "AliFemtoString.h" +using namespace std; class AliFemtoEventReader { @@ -42,7 +43,7 @@ class AliFemtoEventReader { virtual int Init(const char* ReadWrite, AliFemtoString& Message){cout << "do-nothing AliFemtoEventReader::Init()\n"; return(0);} virtual void Finish(){/*no-op*/}; - int Status(){return fReaderStatus;} // AliFemtoManager looks at this for guidance if it gets null pointer from ReturnHbtEvent + int Status() const {return fReaderStatus;} // AliFemtoManager looks at this for guidance if it gets null pointer from ReturnHbtEvent virtual void SetEventCut(AliFemtoEventCut* ecut); virtual void SetTrackCut(AliFemtoTrackCut* pcut); @@ -61,7 +62,7 @@ class AliFemtoEventReader { /* 2: once per event */ /* 3: once per track */ /* 4: once per pair */ - int Debug(){return fDebug;} + int Debug() const {return fDebug;} void SetDebug(int d){fDebug=d;} protected: diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.cxx index 1ae7983d038..88235bcc2fa 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.cxx @@ -11,6 +11,15 @@ /* *$Id$ *$Log$ + *Revision 1.2.2.2 2007/10/04 13:10:52 akisiel + *Add Kink index storageAliFemtoEventReaderESD.cxx AliFemtoTrack.cxx AliFemtoTrack.h + * + *Revision 1.2.2.1 2007/09/30 11:38:59 akisiel + *Adapt the readers to the new AliESDEvent structure + * + *Revision 1.2 2007/05/22 09:01:42 akisiel + *Add the possibiloity to save cut settings in the ROOT file + * *Revision 1.1 2007/05/16 10:22:11 akisiel *Making the directory structure of AliFemto flat. All files go into one common directory * @@ -32,8 +41,9 @@ #include "TFile.h" #include "TTree.h" -#include "AliESD.h" +#include "AliESDEvent.h" #include "AliESDtrack.h" +#include "AliESDVertex.h" //#include "TSystem.h" @@ -43,6 +53,7 @@ #include "SystemOfUnits.h" #include "AliFemtoEvent.h" +#include "AliFemtoModelHiddenInfo.h" ClassImp(AliFemtoEventReaderESD) @@ -57,73 +68,38 @@ AliFemtoEventReaderESD::AliFemtoEventReaderESD(): fInputFile(" "), fFileName(" "), fConstrained(true), + fReadInner(false), fNumberofEvent(0), fCurEvent(0), - fCurFile(0), - fListOfFiles(0x0), fTree(0x0), - fEvent(0x0), fEsdFile(0x0), - fEventFriend(0), - fSharedList(0x0), - fClusterPerPadrow(0x0) + fEvent(0x0) { // default constructor - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - } } AliFemtoEventReaderESD::AliFemtoEventReaderESD(const AliFemtoEventReaderESD &aReader) : fInputFile(" "), fFileName(" "), fConstrained(true), + fReadInner(false), fNumberofEvent(0), fCurEvent(0), - fCurFile(0), - fListOfFiles(0x0), fTree(0x0), - fEvent(0x0), fEsdFile(0x0), - fEventFriend(0), - fSharedList(0x0), - fClusterPerPadrow(0x0) + fEvent(0x0) { // copy constructor fInputFile = aReader.fInputFile; fFileName = aReader.fFileName; fConstrained = aReader.fConstrained; + fReadInner = aReader.fReadInner; fNumberofEvent = aReader.fNumberofEvent; fCurEvent = aReader.fCurEvent; - fCurFile = aReader.fCurFile; - fTree = aReader.fTree->CloneTree(); + // fTree = aReader.fTree->CloneTree(); // fEvent = new AliESD(*aReader.fEvent); - fEvent = new AliESD(); + fEvent = new AliESDEvent(); fEsdFile = new TFile(aReader.fEsdFile->GetName()); - fEventFriend = aReader.fEventFriend; - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { - fClusterPerPadrow[tPad]->push_back(*iter); - } - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { - fSharedList[tPad]->push_back(*iter); - } - } - for (unsigned int veciter = 0; veciterclear(); - delete fClusterPerPadrow[tPad]; - } - delete [] fClusterPerPadrow; - for (int tPad=0; tPadclear(); - delete fSharedList[tPad]; - } - delete [] fSharedList; } //__________________ @@ -157,53 +122,16 @@ AliFemtoEventReaderESD& AliFemtoEventReaderESD::operator=(const AliFemtoEventRea fInputFile = aReader.fInputFile; fFileName = aReader.fFileName; fConstrained = aReader.fConstrained; + fReadInner = aReader.fReadInner; fNumberofEvent = aReader.fNumberofEvent; fCurEvent = aReader.fCurEvent; - fCurFile = aReader.fCurFile; if (fTree) delete fTree; - fTree = aReader.fTree->CloneTree(); + // fTree = aReader.fTree->CloneTree(); if (fEvent) delete fEvent; - fEvent = new AliESD(); + fEvent = new AliESDEvent(); if (fEsdFile) delete fEsdFile; fEsdFile = new TFile(aReader.fEsdFile->GetName()); - fEventFriend = aReader.fEventFriend; - - if (fClusterPerPadrow) { - for (int tPad=0; tPadclear(); - delete fClusterPerPadrow[tPad]; - } - delete [] fClusterPerPadrow; - } - - if (fSharedList) { - for (int tPad=0; tPadclear(); - delete fSharedList[tPad]; - } - delete [] fSharedList; - } - - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { - fClusterPerPadrow[tPad]->push_back(*iter); - } - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { - fSharedList[tPad]->push_back(*iter); - } - } - for (unsigned int veciter = 0; veciterAddFile(buffer); delete tree; } esdFile->Close(); @@ -247,18 +178,6 @@ void AliFemtoEventReaderESD::SetInputFile(const char* inputFile) } } -//setting the next file to read -bool AliFemtoEventReaderESD::GetNextFile() -{ - // Begin reading the next file - if (fCurFile>=fListOfFiles.size()) - return false; - fFileName=fListOfFiles.at(fCurFile); - cout<<"FileName set on "<Get("esdTree"); - fTree->SetBranchAddress("ESD", &fEvent); - - // Attach the friend tree with additional information - tFriendFileName = fFileName; - tFriendFileName.insert(tFriendFileName.find("s.root"),"friend"); - cout << "Reading friend " << tFriendFileName.c_str() << endl;; - fTree->AddFriend("esdFriendTree",tFriendFileName.c_str()); - fTree->SetBranchAddress("ESDfriend",&fEventFriend); - -// chain->SetBranchStatus("*",0); -// chain->SetBranchStatus("fUniqueID",1); -// chain->SetBranchStatus("fTracks",1); -// chain->SetBranchStatus("fTracks.*",1); -// chain->SetBranchStatus("fTracks.fTPCindex[160]",1); - fTree->SetBranchStatus("fTracks.fCalibContainer",0); - + // fEsdFile=TFile::Open(fFileName.c_str(),"READ"); + // fTree = (TTree*) fEsdFile->Get("esdTree"); + // fTree->SetBranchAddress("ESD", &fEvent); + fTree->SetBranchStatus("MuonTracks*",0); + fTree->SetBranchStatus("PmdTracks*",0); + fTree->SetBranchStatus("TrdTracks*",0); + fTree->SetBranchStatus("V0s*",0); + fTree->SetBranchStatus("Cascades*",0); + fTree->SetBranchStatus("Kinks*",0); + fTree->SetBranchStatus("CaloClusters*",0); + fTree->SetBranchStatus("AliRawDataErrorLogs*",0); + fTree->SetBranchStatus("ESDfriend*",0); + fEvent->ReadFromTree(fTree); fNumberofEvent=fTree->GetEntries(); cout<<"Number of Entries in file "<GetEvent(fCurEvent);//getting next event - fEvent->SetESDfriend(fEventFriend); + cout << "Read event " << fEvent << " from file " << fTree << endl; // vector tLabelTable;//to check labels hbtEvent = new AliFemtoEvent; @@ -353,36 +273,7 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() int nofTracks=0; //number of reconstructed tracks in event nofTracks=fEvent->GetNumberOfTracks(); int realnofTracks=0;//number of track which we use ina analysis - - // Clear the shared cluster list - for (int tPad=0; tPadclear(); - } - for (int tPad=0; tPadclear(); - } - - - for (int i=0;iGetTrack(i);//getting next track - - list::iterator tClustIter; - - Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; - Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); - for (int tNcl=0; tNcl= 0) { - tClustIter = find(fClusterPerPadrow[tNcl]->begin(), fClusterPerPadrow[tNcl]->end(), tTrackIndices[tNcl]); - if (tClustIter == fClusterPerPadrow[tNcl]->end()) { - fClusterPerPadrow[tNcl]->push_back(tTrackIndices[tNcl]); - } - else { - fSharedList[tNcl]->push_back(tTrackIndices[tNcl]); - } - } - } - - } + cout << "Event has " << nofTracks << " tracks " << endl; for (int i=0;iSetPidProbProton(esdpid[4]); double pxyz[3]; + if (fReadInner == true) { + + if (esdtrack->GetTPCInnerParam()) { + AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam()); + param->PropagateToDCA(fEvent->GetPrimaryVertex(), (fEvent->GetMagneticField()), 10000); + param->GetPxPyPz(pxyz);//reading noconstarined momentum + delete param; + + AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo(); + tInfo->SetPDGPid(211); + tInfo->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]); + tInfo->SetMass(0.13957); + trackCopy->SetHiddenInfo(tInfo); + } + } if (fConstrained==true) tGoodMomentum=esdtrack->GetConstrainedPxPyPz(pxyz); //reading constrained momentum else @@ -425,7 +331,7 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() trackCopy->SetTrackId(esdtrack->GetID()); trackCopy->SetFlags(esdtrack->GetStatus()); - //trackCopy->SetLabel(esdtrack->GetLabel()); + trackCopy->SetLabel(esdtrack->GetLabel()); //some stuff which could be useful float impact[2]; @@ -444,34 +350,14 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() trackCopy->SetTPCsignalN((short)esdtrack->GetTPCsignalN()); //due to bug in aliesdtrack class trackCopy->SetTPCsignalS(esdtrack->GetTPCsignalSigma()); - // Fill cluster per padrow information - Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; - Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); - for (int tNcl=0; tNcl 0) - trackCopy->SetTPCcluster(tNcl, 1); - else - trackCopy->SetTPCcluster(tNcl, 0); - } - - // Fill shared cluster information - list::iterator tClustIter; - - for (int tNcl=0; tNcl 0) { - tClustIter = find(fSharedList[tNcl]->begin(), fSharedList[tNcl]->end(), tTrackIndices[tNcl]); - if (tClustIter != fSharedList[tNcl]->end()) { - trackCopy->SetTPCshared(tNcl, 1); - cout << "Event next" << endl; - cout << "Track: " << i << endl; - cout << "Shared cluster: " << tNcl << " " << tTrackIndices[tNcl] << endl; - } - else { - trackCopy->SetTPCshared(tNcl, 0); - } - } - } + trackCopy->SetTPCClusterMap(esdtrack->GetTPCClusterMap()); + trackCopy->SetTPCSharedMap(esdtrack->GetTPCSharedMap()); + int indexes[3]; + for (int ik=0; ik<3; ik++) { + indexes[ik] = esdtrack->GetKinkIndex(ik); + } + trackCopy->SetKinkIndexes(indexes); //decision if we want this track //if we using diffrent labels we want that this label was use for first time //if we use hidden info we want to have match between sim data and ESD @@ -490,12 +376,12 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() hbtEvent->SetNumberOfTracks(realnofTracks);//setting number of track which we read in event fCurEvent++; cout<<"end of reading nt "<Reset(); - delete fTree; - fEsdFile->Close(); - } +// if (fCurEvent== fNumberofEvent)//if end of current file close all +// { +// fTree->Reset(); +// delete fTree; +// fEsdFile->Close(); +// } return hbtEvent; } diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.h index ad920146f9e..c83d9c5f316 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESD.h @@ -11,6 +11,12 @@ /* *$Id$ *$Log$ + *Revision 1.1.2.1 2007/09/30 11:38:59 akisiel + *Adapt the readers to the new AliESDEvent structure + * + *Revision 1.1 2007/05/16 10:22:11 akisiel + *Making the directory structure of AliFemto flat. All files go into one common directory + * *Revision 1.4 2007/05/03 09:45:20 akisiel *Fixing Effective C++ warnings * @@ -31,8 +37,8 @@ #include #include #include "TTree.h" -#include "AliESD.h" -#include "AliESDfriend.h" +#include "TChain.h" +#include "AliESDEvent.h" #include class AliFemtoEvent; @@ -46,35 +52,31 @@ class AliFemtoEventReaderESD : public AliFemtoEventReader AliFemtoEventReaderESD& operator=(const AliFemtoEventReaderESD& aReader); - AliFemtoEvent* ReturnHbtEvent(); + virtual AliFemtoEvent* ReturnHbtEvent(); AliFemtoString Report(); //void SetFileName(const char* fileName); void SetInputFile(const char* inputFile); void SetConstrained(const bool constrained); bool GetConstrained() const; + void SetReadTPCInner(const bool readinner); + bool GetReadTPCInner() const; protected: private: - bool GetNextFile(); // setting next file to read - string fInputFile; // name of input file with ESD filenames string fFileName; // name of current ESD file bool fConstrained; // flag to set which momentum from ESD file will be use + bool fReadInner; // flag to set if one wants to read TPC-only momentum + // instead of the global one int fNumberofEvent; // number of Events in ESD file int fCurEvent; // number of current event - unsigned int fCurFile; // number of current file - vector fListOfFiles; // list of ESD files - TTree* fTree; // ESD tree - AliESD* fEvent; // ESD event + TChain* fTree; // ESD tree TFile* fEsdFile; // ESD file - AliESDfriend* fEventFriend; // ESD friend informaion - - list **fSharedList; //! Table (one list per padrow) of clusters which are shared - list **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow + AliESDEvent* fEvent; // ESD event #ifdef __ROOT__ - ClassDef(AliFemtoEventReaderESD, 10) + ClassDef(AliFemtoEventReaderESD, 11) #endif }; diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.cxx index bd25337899a..cc4a8c8d8a5 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.cxx @@ -10,8 +10,9 @@ #include "TFile.h" #include "TTree.h" -#include "AliESD.h" +#include "AliESDEvent.h" #include "AliESDtrack.h" +#include "AliESDVertex.h" #include "AliFmPhysicalHelixD.h" #include "AliFmThreeVectorF.h" @@ -34,20 +35,17 @@ AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(): fNumberofEvent(0), fCurEvent(0), fCurFile(0), - fEvent(0x0), - fEventFriend(0), - fSharedList(0x0), - fClusterPerPadrow(0x0) + fEvent(0x0) { //constructor with 0 parameters , look at default settings - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - } +// fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// } +// fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// } } //__________________ @@ -57,10 +55,7 @@ AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(const AliFemtoEventRead fNumberofEvent(0), fCurEvent(0), fCurFile(0), - fEvent(0x0), - fEventFriend(0), - fSharedList(0x0), - fClusterPerPadrow(0x0) + fEvent(0x0) { // Copy constructor fConstrained = aReader.fConstrained; @@ -68,24 +63,24 @@ AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(const AliFemtoEventRead fCurEvent = aReader.fCurEvent; fCurFile = aReader.fCurFile; // fEvent = new AliESD(*aReader.fEvent); - fEvent = new AliESD(); - fEventFriend = aReader.fEventFriend; - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { - fClusterPerPadrow[tPad]->push_back(*iter); - } - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { - fSharedList[tPad]->push_back(*iter); - } - } + fEvent = new AliESDEvent(); +// fEventFriend = aReader.fEventFriend; +// fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// list::iterator iter; +// for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { +// fClusterPerPadrow[tPad]->push_back(*iter); +// } +// } +// fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// list::iterator iter; +// for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { +// fSharedList[tPad]->push_back(*iter); +// } +// } } //__________________ AliFemtoEventReaderESDChain::~AliFemtoEventReaderESDChain() @@ -93,16 +88,16 @@ AliFemtoEventReaderESDChain::~AliFemtoEventReaderESDChain() //Destructor delete fEvent; - for (int tPad=0; tPadclear(); - delete fClusterPerPadrow[tPad]; - } - delete [] fClusterPerPadrow; - for (int tPad=0; tPadclear(); - delete fSharedList[tPad]; - } - delete [] fSharedList; +// for (int tPad=0; tPadclear(); +// delete fClusterPerPadrow[tPad]; +// } +// delete [] fClusterPerPadrow; +// for (int tPad=0; tPadclear(); +// delete fSharedList[tPad]; +// } +// delete [] fSharedList; } //__________________ @@ -117,42 +112,42 @@ AliFemtoEventReaderESDChain& AliFemtoEventReaderESDChain::operator=(const AliFem fCurEvent = aReader.fCurEvent; fCurFile = aReader.fCurFile; if (fEvent) delete fEvent; - fEvent = new AliESD(); + fEvent = new AliESDEvent(); - fEventFriend = aReader.fEventFriend; + // fEventFriend = aReader.fEventFriend; - if (fClusterPerPadrow) { - for (int tPad=0; tPadclear(); - delete fClusterPerPadrow[tPad]; - } - delete [] fClusterPerPadrow; - } +// if (fClusterPerPadrow) { +// for (int tPad=0; tPadclear(); +// delete fClusterPerPadrow[tPad]; +// } +// delete [] fClusterPerPadrow; +// } - if (fSharedList) { - for (int tPad=0; tPadclear(); - delete fSharedList[tPad]; - } - delete [] fSharedList; - } - - fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { - fClusterPerPadrow[tPad]->push_back(*iter); - } - } - fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); - for (int tPad=0; tPad(); - list::iterator iter; - for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { - fSharedList[tPad]->push_back(*iter); - } - } +// if (fSharedList) { +// for (int tPad=0; tPadclear(); +// delete fSharedList[tPad]; +// } +// delete [] fSharedList; +// } + +// fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// list::iterator iter; +// for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { +// fClusterPerPadrow[tPad]->push_back(*iter); +// } +// } +// fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); +// for (int tPad=0; tPad(); +// list::iterator iter; +// for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { +// fSharedList[tPad]->push_back(*iter); +// } +// } return *this; } @@ -187,7 +182,7 @@ AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent() // Get the friend information cout<<"starting to read event "<SetESDfriend(fEventFriend); + // fEvent->SetESDfriend(fEventFriend); vector tLabelTable;//to check labels hbtEvent = new AliFemtoEvent; @@ -217,35 +212,35 @@ AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent() nofTracks=fEvent->GetNumberOfTracks(); int realnofTracks=0;//number of track which we use ina analysis - // Clear the shared cluster list - for (int tPad=0; tPadclear(); - } - for (int tPad=0; tPadclear(); - } - - - for (int i=0;iGetTrack(i);//getting next track - - list::iterator tClustIter; - - Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; - Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); - for (int tNcl=0; tNcl= 0) { - tClustIter = find(fClusterPerPadrow[tNcl]->begin(), fClusterPerPadrow[tNcl]->end(), tTrackIndices[tNcl]); - if (tClustIter == fClusterPerPadrow[tNcl]->end()) { - fClusterPerPadrow[tNcl]->push_back(tTrackIndices[tNcl]); - } - else { - fSharedList[tNcl]->push_back(tTrackIndices[tNcl]); - } - } - } +// // Clear the shared cluster list +// for (int tPad=0; tPadclear(); +// } +// for (int tPad=0; tPadclear(); +// } + + +// for (int i=0;iGetTrack(i);//getting next track + +// list::iterator tClustIter; + +// Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; +// Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); +// for (int tNcl=0; tNcl= 0) { +// tClustIter = find(fClusterPerPadrow[tNcl]->begin(), fClusterPerPadrow[tNcl]->end(), tTrackIndices[tNcl]); +// if (tClustIter == fClusterPerPadrow[tNcl]->end()) { +// fClusterPerPadrow[tNcl]->push_back(tTrackIndices[tNcl]); +// } +// else { +// fSharedList[tNcl]->push_back(tTrackIndices[tNcl]); +// } +// } +// } - } +// } for (int i=0;iSetTPCsignalN((short)esdtrack->GetTPCsignalN()); //due to bug in aliesdtrack class trackCopy->SetTPCsignalS(esdtrack->GetTPCsignalSigma()); - // Fill cluster per padrow information - Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; - Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); - for (int tNcl=0; tNcl 0) - trackCopy->SetTPCcluster(tNcl, 1); - else - trackCopy->SetTPCcluster(tNcl, 0); - } +// // Fill cluster per padrow information +// Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster]; +// Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices); +// for (int tNcl=0; tNcl 0) +// trackCopy->SetTPCcluster(tNcl, 1); +// else +// trackCopy->SetTPCcluster(tNcl, 0); +// } - // Fill shared cluster information - list::iterator tClustIter; - - for (int tNcl=0; tNcl 0) { - tClustIter = find(fSharedList[tNcl]->begin(), fSharedList[tNcl]->end(), tTrackIndices[tNcl]); - if (tClustIter != fSharedList[tNcl]->end()) { - trackCopy->SetTPCshared(tNcl, 1); - cout << "Event next" << endl; - cout << "Track: " << i << endl; - cout << "Shared cluster: " << tNcl << " " << tTrackIndices[tNcl] << endl; - } - else { - trackCopy->SetTPCshared(tNcl, 0); - } - } - } +// // Fill shared cluster information +// list::iterator tClustIter; + +// for (int tNcl=0; tNcl 0) { +// tClustIter = find(fSharedList[tNcl]->begin(), fSharedList[tNcl]->end(), tTrackIndices[tNcl]); +// if (tClustIter != fSharedList[tNcl]->end()) { +// trackCopy->SetTPCshared(tNcl, 1); +// cout << "Event next" << endl; +// cout << "Track: " << i << endl; +// cout << "Shared cluster: " << tNcl << " " << tTrackIndices[tNcl] << endl; +// } +// else { +// trackCopy->SetTPCshared(tNcl, 0); +// } +// } +// } + + trackCopy->SetTPCClusterMap(esdtrack->GetTPCClusterMap()); + trackCopy->SetTPCSharedMap(esdtrack->GetTPCSharedMap()); if (tGoodMomentum==true) { @@ -356,19 +354,19 @@ AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent() return hbtEvent; } //___________________ -void AliFemtoEventReaderESDChain::SetESDSource(AliESD *aESD) +void AliFemtoEventReaderESDChain::SetESDSource(AliESDEvent *aESD) { // The chain loads the ESD for us // You must provide the address where it can be found fEvent = aESD; } //___________________ -void AliFemtoEventReaderESDChain::SetESDfriendSource(AliESDfriend *aFriend) -{ - // We need the ESD tree to obtain - // information about the friend file location - fEventFriend = aFriend; -} +// void AliFemtoEventReaderESDChain::SetESDfriendSource(AliESDfriend *aFriend) +// { +// // We need the ESD tree to obtain +// // information about the friend file location +// fEventFriend = aFriend; +// } diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h index 5a445177795..ac4368fec8f 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h @@ -15,7 +15,7 @@ #include #include #include "TTree.h" -#include "AliESD.h" +#include "AliESDEvent.h" #include "AliESDfriend.h" #include @@ -35,8 +35,8 @@ class AliFemtoEventReaderESDChain : public AliFemtoEventReader void SetConstrained(const bool constrained); bool GetConstrained() const; - void SetESDSource(AliESD *aESD); - void SetESDfriendSource(AliESDfriend *aFriend); + void SetESDSource(AliESDEvent *aESD); + // void SetESDfriendSource(AliESDfriend *aFriend); protected: @@ -46,11 +46,11 @@ class AliFemtoEventReaderESDChain : public AliFemtoEventReader int fNumberofEvent; //number of Events in ESD file int fCurEvent; //number of current event unsigned int fCurFile; //number of current file - AliESD* fEvent; //ESD event - AliESDfriend* fEventFriend; + AliESDEvent* fEvent; //ESD event + // AliESDfriend* fEventFriend; - list **fSharedList; //! Table (one list per padrow) of clusters which are shared - list **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow +/* list **fSharedList; //! Table (one list per padrow) of clusters which are shared */ +/* list **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow */ #ifdef __ROOT__ ClassDef(AliFemtoEventReaderESDChain, 1) diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.cxx index 819c72b7792..c73dc1f89d0 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.cxx @@ -11,6 +11,9 @@ #include "AliFemtoModelGausLCMSFreezeOutGenerator.h" #include "AliFemtoModelHiddenInfo.h" #include "AliFemtoModelCorrFctn.h" +#include "AliFemtoPair.h" +#include "AliFemtoModelManager.h" +#include //_______________________ AliFemtoModelCorrFctn::AliFemtoModelCorrFctn(): @@ -19,6 +22,7 @@ AliFemtoModelCorrFctn::AliFemtoModelCorrFctn(): fNumeratorFake(0), fDenominator(0) { + // Default constructor fNumeratorTrue = new TH1D("ModelNumTrue","ModelNumTrue",50,0.0,0.5); fNumeratorFake = new TH1D("ModelNumFake","ModelNumFake",50,0.0,0.5); fDenominator = new TH1D("ModelDen","ModelDen",50,0.0,0.5); @@ -34,6 +38,7 @@ AliFemtoModelCorrFctn::AliFemtoModelCorrFctn(const char *title, Int_t aNbins, Do fNumeratorFake(0), fDenominator(0) { + // Normal constructor char buf[100]; sprintf(buf, "NumTrue%s", title); fNumeratorTrue = new TH1D(buf,buf,aNbins,aQinvLo,aQinvHi); @@ -53,6 +58,7 @@ AliFemtoModelCorrFctn::AliFemtoModelCorrFctn(const AliFemtoModelCorrFctn& aCorrF fNumeratorFake(0), fDenominator(0) { + // Copy constructor if (aCorrFctn.fNumeratorTrue) fNumeratorTrue = new TH1D(*(aCorrFctn.fNumeratorTrue)); if (aCorrFctn.fNumeratorFake) @@ -64,6 +70,7 @@ AliFemtoModelCorrFctn::AliFemtoModelCorrFctn(const AliFemtoModelCorrFctn& aCorrF //_______________________ AliFemtoModelCorrFctn::~AliFemtoModelCorrFctn() { + // Destructor if (fNumeratorTrue) delete fNumeratorTrue; if (fNumeratorFake) delete fNumeratorFake; if (fDenominator) delete fDenominator; @@ -71,6 +78,7 @@ AliFemtoModelCorrFctn::~AliFemtoModelCorrFctn() //_______________________ AliFemtoModelCorrFctn& AliFemtoModelCorrFctn::operator=(const AliFemtoModelCorrFctn& aCorrFctn) { + // Assignment operator if (this == &aCorrFctn) return *this; @@ -99,6 +107,7 @@ void AliFemtoModelCorrFctn::ConnectToManager(AliFemtoModelManager *aManager) //_______________________ AliFemtoString AliFemtoModelCorrFctn::Report() { + // Prepare report AliFemtoString tStr = "AliFemtoModelCorrFctn report"; return tStr; @@ -135,6 +144,7 @@ void AliFemtoModelCorrFctn::Finish() //_______________________ void AliFemtoModelCorrFctn::Write() { + // Write out data histos fNumeratorTrue->Write(); fNumeratorFake->Write(); fDenominator->Write(); @@ -142,6 +152,7 @@ void AliFemtoModelCorrFctn::Write() //_______________________ AliFemtoModelCorrFctn* AliFemtoModelCorrFctn::Clone() { + // Create clone AliFemtoModelCorrFctn *tCopy = new AliFemtoModelCorrFctn(*this); return tCopy; diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.h index efd6bcce600..74eaa776ebe 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelCorrFctn.h @@ -4,12 +4,13 @@ /// uses the model framework and weight generation /// /// /// //////////////////////////////////////////////////////////////////////////////// -#ifndef AliFemtoModelCorrFctn_hh -#define AliFemtoModelCorrFctn_hh +#ifndef ALIFEMTOMODELCORRFCTN_H +#define ALIFEMTOMODELCORRFCTN_H #include "AliFemtoCorrFctn.h" -#include "AliFemtoPair.h" -#include "AliFemtoModelManager.h" +class AliFemtoPair; +class AliFemtoModelManager; +class TH1D; class AliFemtoModelCorrFctn: public AliFemtoCorrFctn { diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelGausLCMSFreezeOutGenerator.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelGausLCMSFreezeOutGenerator.h index 28b1af1bd94..a3f3b70b965 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelGausLCMSFreezeOutGenerator.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelGausLCMSFreezeOutGenerator.h @@ -18,7 +18,7 @@ class AliFemtoModelGausLCMSFreezeOutGenerator : public AliFemtoModelFreezeOutGen AliFemtoModelGausLCMSFreezeOutGenerator(); AliFemtoModelGausLCMSFreezeOutGenerator(const AliFemtoModelGausLCMSFreezeOutGenerator &aModel); virtual ~AliFemtoModelGausLCMSFreezeOutGenerator(); - virtual void GenerateFreezeOut(AliFemtoPair *aPair);; + virtual void GenerateFreezeOut(AliFemtoPair *aPair); void SetSizeOut(Double_t aSizeOut); void SetSizeSide(Double_t aSizeSide); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.cxx index da48ab257e4..98662cc48d4 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.cxx @@ -15,7 +15,7 @@ AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo() : fMass(0) { // Default constructor -}; +} //_____________________________________________ AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo(const AliFemtoModelHiddenInfo &aInfo) : fTrueMomentum(0), diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.cxx index f92119c0896..e1f767497cd 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.cxx @@ -9,6 +9,8 @@ ClassImp(AliFemtoModelGausLCMSFreezeOutGenerator, 1) #endif +#include "AliFemtoPair.h" + #include "AliFemtoModelWeightGenerator.h" #include "AliFemtoModelHiddenInfo.h" @@ -56,6 +58,7 @@ Int_t AliFemtoModelWeightGenerator::GetPairType() const //_____________________________________________ void AliFemtoModelWeightGenerator::SetPairTypeFromPair(AliFemtoPair *aPair) { + // Get the type of pair from PID of particles in the pair AliFemtoModelHiddenInfo *inf1 = ( AliFemtoModelHiddenInfo *) aPair->Track1()->HiddenInfo(); AliFemtoModelHiddenInfo *inf2 = ( AliFemtoModelHiddenInfo *) aPair->Track2()->HiddenInfo(); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.h index ae9eb441783..286597bca4c 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.h @@ -5,11 +5,11 @@ /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu /// /// /// //////////////////////////////////////////////////////////////////////////////// -#ifndef AliFemtoModelWeightGenerator_hh -#define AliFemtoModelWeightGenerator_hh +#ifndef ALIFEMTOMODELWEIGHTGENERATOR_H +#define ALIFEMTOMODELWEIGHTGENERATOR_H #include "TRandom2.h" -#include "AliFemtoPair.h" +class AliFemtoPair; class AliFemtoModelWeightGenerator { @@ -48,7 +48,7 @@ class AliFemtoModelWeightGenerator static const Int_t fgkKaonPlusAntiproton;// opposite-charge kaon proton pair protected: - Int_t fPairType; + Int_t fPairType; // Type of the pair for which the calculation is done Double_t fKStarOut; // relative momentum out component in PRF Double_t fKStarSide; // relative momentum side component in PRF diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGeneratorLednicky.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGeneratorLednicky.cxx index d2018a9027a..a879c51434e 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGeneratorLednicky.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGeneratorLednicky.cxx @@ -13,6 +13,7 @@ //#include "StHbtMaker/ThCorrFctn/AliFemtoModelWeightGeneratorLednicky.h" #include "AliFemtoModelWeightGeneratorLednicky.h" #include "AliFemtoModelHiddenInfo.h" +#include "AliFemtoPair.h" //#include "StarCallf77.h" //#include //#include @@ -145,7 +146,7 @@ AliFemtoModelWeightGeneratorLednicky::AliFemtoModelWeightGeneratorLednicky() : strcpy( fLLName[30],"Proton Anti-proton");// gael 21May02 FsiInit(); FsiNucl(); -}; +} //______________________ AliFemtoModelWeightGeneratorLednicky::AliFemtoModelWeightGeneratorLednicky(const AliFemtoModelWeightGeneratorLednicky &aWeight): AliFemtoModelWeightGenerator(), @@ -383,8 +384,8 @@ double AliFemtoModelWeightGeneratorLednicky::GenerateWeight(AliFemtoPair* aPair) if (fI3c==0) return fWein; fWeightDen=fWeif; return fWei; - }; -}; + } +} AliFemtoString AliFemtoModelWeightGeneratorLednicky::Report() { // create report @@ -418,7 +419,7 @@ void AliFemtoModelWeightGeneratorLednicky::FsiInit(){ cout <<"mIsi dans FsiInit() = " << fIsi << endl; cout <<"mI3c dans FsiInit() = " << fI3c << endl; fsiin(fItest,fIch,fIqs,fIsi,fI3c); -}; +} void AliFemtoModelWeightGeneratorLednicky::FsiNucl(){ // initialize weight generation taking into account the residual charge @@ -427,15 +428,15 @@ void AliFemtoModelWeightGeneratorLednicky::FsiNucl(){ cout <<"fNuclCharge dans FsiNucl() = " << fNuclCharge << endl; cout <<"fNuclChargeSign dans FsiNucl() = " << fNuclChargeSign << endl; fsinucl(fNuclMass,fNuclCharge*fNuclChargeSign); -}; +} void AliFemtoModelWeightGeneratorLednicky::FsiSetLL(){ // set internal pair type for the module int tNS; if (fSphereApp||(fLL>5)) { if (fT0App) { tNS=4;} - else {tNS=2;}; - } else { tNS=1;}; + else {tNS=2;} + } else { tNS=1;} //cout <<"fLL dans FsiSetLL() = "<< fLL << endl; //cout <<"tNS dans FsiSetLL() = "<< tNS << endl; //cout <<"fItest dans FsiSetLL() = "<< fItest << endl; @@ -488,7 +489,7 @@ bool AliFemtoModelWeightGeneratorLednicky::SetPid(const int aPid1,const int aPid case ksLamPid: fLL=27;tChargeFactor*=1 ;break; case -ksProtPid: fLL=30;tChargeFactor*=1 ;break; default: fLL=0; - }; + } break; case ksKPid: switch (tPidh) { @@ -497,20 +498,20 @@ bool AliFemtoModelWeightGeneratorLednicky::SetPid(const int aPid1,const int aPid case ksProtPid: fLL=16;tChargeFactor*=1 ;break; case -ksProtPid: fLL=17;tChargeFactor*=-1 ;break; default: fLL=0; - }; + } break; case ksK0Pid: switch (tPidh) { case ksK0Pid: fLL=22;tChargeFactor*=1 ;break; case -ksK0Pid: fLL=23;tChargeFactor*=1 ;break; default: fLL=0; - }; + } break; case ksPi0Pid: switch (tPidh) { case ksPi0Pid: fLL=6; tChargeFactor*=1 ;break; default: fLL=0; - }; + } break; case ksNeutPid: switch (tPidh) { @@ -518,13 +519,13 @@ bool AliFemtoModelWeightGeneratorLednicky::SetPid(const int aPid1,const int aPid case ksProtPid: fLL=3; tChargeFactor*=1 ;break; case ksLamPid: fLL=28;tChargeFactor*=1 ;break; default: fLL=0; - }; + } break; //Gael 21May02 case ksLamPid: //Gael 21May02 switch (tPidh) { //Gael 21May02 case ksLamPid: fLL=29;tChargeFactor*=1 ;break;//Gael 21May02 default: fLL=0; //Gael 21May02 - }; //Gael 21May02 + } //Gael 21May02 break; //Gael 21May02 default: fLL=0; } @@ -546,7 +547,7 @@ bool AliFemtoModelWeightGeneratorLednicky::SetPid(const int aPid1,const int aPid } AliFemtoModelWeightGeneratorLednicky::~AliFemtoModelWeightGeneratorLednicky() -{ /* no-op */ }; +{ /* no-op */ } //_____________________________________________ void AliFemtoModelWeightGeneratorLednicky::SetPairType(Int_t aPairType) @@ -623,25 +624,25 @@ void AliFemtoModelWeightGeneratorLednicky::SetPairTypeFromPair(AliFemtoPair SetPid(ktPid1, ktPid2); } -void AliFemtoModelWeightGeneratorLednicky::SetNuclCharge(const double aNuclCharge) {fNuclCharge=aNuclCharge;FsiNucl();}; -void AliFemtoModelWeightGeneratorLednicky::SetNuclMass(const double aNuclMass){fNuclMass=aNuclMass;FsiNucl();}; +void AliFemtoModelWeightGeneratorLednicky::SetNuclCharge(const double aNuclCharge) {fNuclCharge=aNuclCharge;FsiNucl();} +void AliFemtoModelWeightGeneratorLednicky::SetNuclMass(const double aNuclMass){fNuclMass=aNuclMass;FsiNucl();} -void AliFemtoModelWeightGeneratorLednicky::SetSphere(){fSphereApp=true;}; -void AliFemtoModelWeightGeneratorLednicky::SetSquare(){fSphereApp=false;}; -void AliFemtoModelWeightGeneratorLednicky::SetT0ApproxOn(){ fT0App=true;}; -void AliFemtoModelWeightGeneratorLednicky::SetT0ApproxOff(){ fT0App=false;}; +void AliFemtoModelWeightGeneratorLednicky::SetSphere(){fSphereApp=true;} +void AliFemtoModelWeightGeneratorLednicky::SetSquare(){fSphereApp=false;} +void AliFemtoModelWeightGeneratorLednicky::SetT0ApproxOn(){ fT0App=true;} +void AliFemtoModelWeightGeneratorLednicky::SetT0ApproxOff(){ fT0App=false;} void AliFemtoModelWeightGeneratorLednicky::SetDefaultCalcPar(){ fItest=1;fIqs=1;fIsi=1;fI3c=0;fIch=1;FsiInit(); - fSphereApp=false;fT0App=false;}; - -void AliFemtoModelWeightGeneratorLednicky::SetCoulOn() {fItest=1;fIch=1;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::SetCoulOff() {fItest=1;fIch=0;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::SetQuantumOn() {fItest=1;fIqs=1;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::SetQuantumOff(){fItest=1;fIqs=0;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::SetStrongOn() {fItest=1;fIsi=1;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::SetStrongOff() {fItest=1;fIsi=0;FsiInit();}; -void AliFemtoModelWeightGeneratorLednicky::Set3BodyOn() {fItest=1;fI3c=1;FsiInit();FsiNucl();}; -void AliFemtoModelWeightGeneratorLednicky::Set3BodyOff() {fItest=1;fI3c=0;FsiInit();fWeightDen=1.;FsiNucl();}; + fSphereApp=false;fT0App=false;} + +void AliFemtoModelWeightGeneratorLednicky::SetCoulOn() {fItest=1;fIch=1;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::SetCoulOff() {fItest=1;fIch=0;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::SetQuantumOn() {fItest=1;fIqs=1;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::SetQuantumOff(){fItest=1;fIqs=0;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::SetStrongOn() {fItest=1;fIsi=1;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::SetStrongOff() {fItest=1;fIsi=0;FsiInit();} +void AliFemtoModelWeightGeneratorLednicky::Set3BodyOn() {fItest=1;fI3c=1;FsiInit();FsiNucl();} +void AliFemtoModelWeightGeneratorLednicky::Set3BodyOff() {fItest=1;fI3c=0;FsiInit();fWeightDen=1.;FsiNucl();} Double_t AliFemtoModelWeightGeneratorLednicky::GetKStar() const {return AliFemtoModelWeightGenerator::GetKStar();} Double_t AliFemtoModelWeightGeneratorLednicky::GetKStarOut() const { return AliFemtoModelWeightGenerator::GetKStarOut(); } diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPair.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPair.cxx index a7bf76dd6cb..a51eb241f19 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPair.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPair.cxx @@ -110,7 +110,7 @@ void AliFemtoPair::SetMergingPar(double aMaxDuInner, double aMaxDzInner, fgMaxDzInner = aMaxDzInner; fgMaxDuOuter = aMaxDuOuter; fgMaxDzOuter = aMaxDzOuter; -}; +} AliFemtoPair::~AliFemtoPair() { // Destructor diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h index b0be8b8b14d..99a9389ba4a 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h @@ -51,7 +51,7 @@ protected: inline AliFemtoPairCut::AliFemtoPairCut(const AliFemtoPairCut& c) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { } inline void AliFemtoPairCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; } -inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {}; // default constructor. - Users should write their own +inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {} // default constructor. - Users should write their own inline AliFemtoPairCut& AliFemtoPairCut::operator=(const AliFemtoPairCut &aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; } #endif diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticle.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticle.h index d433e9243f9..b351f7f6606 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticle.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticle.h @@ -55,7 +55,8 @@ public: // the following method is for explicit internal calculation to fill datamembers. // It is invoked automatically if AliFemtoParticle constructed from AliFemtoTrack - //void CalculateNominalTpcExitAndEntrancePoints(); // NOTE - this requires the fHelix, so be sure this is filled + // void CalculateNominalTpcExitAndEntrancePoints(); + // NOTE - this requires the fHelix, so be sure this is filled AliFemtoThreeVector fNominalPosSample[11]; // I make this public for convenience and speed of AliFemtoPair() @@ -130,7 +131,7 @@ private: }; inline AliFemtoTrack* AliFemtoParticle::Track() const { return fTrack; } -inline unsigned long AliFemtoParticle::TrackId() const { return fTrack->TrackId(); }; +inline unsigned long AliFemtoParticle::TrackId() const { return fTrack->TrackId(); } inline const AliFemtoLorentzVector& AliFemtoParticle::FourMomentum() const {return fFourMomentum;} inline AliFmPhysicalHelixD& AliFemtoParticle::Helix() {return fHelix;} //inline unsigned long AliFemtoParticle::TopologyMap(const int word) const {return fMap[word];} diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticleCut.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticleCut.h index 582033b19ce..6cb509df39d 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticleCut.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoParticleCut.h @@ -50,7 +50,7 @@ protected: #endif }; -inline AliFemtoParticleCut::AliFemtoParticleCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0), fMass(0){}; // default constructor. - Users should write their own +inline AliFemtoParticleCut::AliFemtoParticleCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0), fMass(0){} // default constructor. - Users should write their own inline AliFemtoParticleCut::AliFemtoParticleCut(const AliFemtoParticleCut& c): AliFemtoCutMonitorHandler(), fyAnalysis(0), fMass(0) { fMass = c.fMass; fyAnalysis = 0; #ifdef STHBTDEBUG diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx index e0557f2846c..06bcbf31ce6 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx @@ -1,3 +1,10 @@ +//////////////////////////////////////////////////////////////////////////////// +// // +// AliFemtoPicoEvent - internal AliFemto representation of the event. // +// Created for the sake of minimizing the used size. Multiple instances are // +// stored in memory when several mixing bins are used. // +// // +//////////////////////////////////////////////////////////////////////////////// /*************************************************************************** * * $Id$ @@ -16,6 +23,12 @@ *************************************************************************** * * $Log$ + * Revision 1.1.2.1 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.1 2007/05/16 10:22:11 akisiel + * Making the directory structure of AliFemto flat. All files go into one common directory + * * Revision 1.2 2007/05/03 09:42:29 akisiel * Fixing Effective C++ warnings * @@ -48,6 +61,7 @@ **************************************************************************/ #include "AliFemtoPicoEvent.h" +#include "AliFemtoParticleCollection.h" //________________ AliFemtoPicoEvent::AliFemtoPicoEvent() : @@ -55,6 +69,7 @@ AliFemtoPicoEvent::AliFemtoPicoEvent() : fSecondParticleCollection(0), fThirdParticleCollection(0) { + // Default constructor fFirstParticleCollection = new AliFemtoParticleCollection; fSecondParticleCollection = new AliFemtoParticleCollection; fThirdParticleCollection = new AliFemtoParticleCollection; @@ -65,6 +80,7 @@ AliFemtoPicoEvent::AliFemtoPicoEvent(const AliFemtoPicoEvent& aPicoEvent) : fSecondParticleCollection(0), fThirdParticleCollection(0) { + // Copy constructor AliFemtoParticleIterator iter; fFirstParticleCollection = new AliFemtoParticleCollection; @@ -88,6 +104,7 @@ AliFemtoPicoEvent::AliFemtoPicoEvent(const AliFemtoPicoEvent& aPicoEvent) : } //_________________ AliFemtoPicoEvent::~AliFemtoPicoEvent(){ + // Destructor AliFemtoParticleIterator iter; if (fFirstParticleCollection){ @@ -120,8 +137,9 @@ AliFemtoPicoEvent::~AliFemtoPicoEvent(){ } } //_________________ - AliFemtoPicoEvent& AliFemtoPicoEvent::operator=(AliFemtoPicoEvent& aPicoEvent) +AliFemtoPicoEvent& AliFemtoPicoEvent::operator=(const AliFemtoPicoEvent& aPicoEvent) { + // Assignment operator if (this == &aPicoEvent) return *this; diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.h index 1d33736fd38..bcea239af04 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.h @@ -16,6 +16,12 @@ *************************************************************************** * * $Log$ + * Revision 1.1.2.1 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.1 2007/05/16 10:22:11 akisiel + * Making the directory structure of AliFemto flat. All files go into one common directory + * * Revision 1.2 2007/05/03 09:42:29 akisiel * Fixing Effective C++ warnings * @@ -33,8 +39,8 @@ * **************************************************************************/ -#ifndef AliFemtoPicoEvent_hh -#define AliFemtoPicoEvent_hh +#ifndef ALIFEMTOPICOEVENT_H +#define ALIFEMTOPICOEVENT_H #include "AliFemtoParticleCollection.h" @@ -44,7 +50,7 @@ public: AliFemtoPicoEvent(const AliFemtoPicoEvent& aPicoEvent); ~AliFemtoPicoEvent(); - AliFemtoPicoEvent& operator=(AliFemtoPicoEvent& aPicoEvent); + AliFemtoPicoEvent& operator=(const AliFemtoPicoEvent& aPicoEvent); /* may want to have other stuff in here, like where is primary vertex */ @@ -53,9 +59,9 @@ public: AliFemtoParticleCollection* ThirdParticleCollection(); private: - AliFemtoParticleCollection* fFirstParticleCollection; - AliFemtoParticleCollection* fSecondParticleCollection; - AliFemtoParticleCollection* fThirdParticleCollection; + AliFemtoParticleCollection* fFirstParticleCollection; // Collection of particles of type 1 + AliFemtoParticleCollection* fSecondParticleCollection; // Collection of particles of type 2 + AliFemtoParticleCollection* fThirdParticleCollection; // Collection of particles of type 3 }; inline AliFemtoParticleCollection* AliFemtoPicoEvent::FirstParticleCollection(){return fFirstParticleCollection;} diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.cxx index fd0623e49d5..c5c857fbff9 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.cxx @@ -53,6 +53,9 @@ AliFemtoTrack::AliFemtoTrack(): { // Default constructor fHiddenInfo = NULL; + fKinkIndexes[0] = 0; + fKinkIndexes[1] = 0; + fKinkIndexes[2] = 0; // cout << "Created track " << this << endl; } @@ -117,8 +120,11 @@ AliFemtoTrack::AliFemtoTrack(const AliFemtoTrack& t) : fHiddenInfo = t.GetHiddenInfo()->Clone(); else fHiddenInfo = NULL; + fKinkIndexes[0] = t.fKinkIndexes[0]; + fKinkIndexes[1] = t.fKinkIndexes[1]; + fKinkIndexes[2] = t.fKinkIndexes[2]; // cout << "Created track " << this << endl; -}; +} AliFemtoTrack& AliFemtoTrack::operator=(const AliFemtoTrack& aTrack) { @@ -151,6 +157,9 @@ AliFemtoTrack& AliFemtoTrack::operator=(const AliFemtoTrack& aTrack) fTPCsignalS=aTrack.fTPCsignalS; fClusters=aTrack.fClusters; fShared=aTrack.fShared; + fKinkIndexes[0] = aTrack.fKinkIndexes[0]; + fKinkIndexes[1] = aTrack.fKinkIndexes[1]; + fKinkIndexes[2] = aTrack.fKinkIndexes[2]; if (ValidHiddenInfo()) delete fHiddenInfo; if (aTrack.ValidHiddenInfo()) @@ -233,3 +242,26 @@ void AliFemtoTrack::SetTPCshared(const short& aNBit, const Bool_t& aValue) fShared.SetBitNumber(aNBit, aValue); } +void AliFemtoTrack::SetTPCClusterMap(const TBits& aBits) +{ + fClusters = aBits; +} +void AliFemtoTrack::SetTPCSharedMap(const TBits& aBits) +{ + fShared = aBits; +} + +void AliFemtoTrack::SetKinkIndexes(int points[3]) +{ + fKinkIndexes[0] = points[0]; + fKinkIndexes[1] = points[1]; + fKinkIndexes[2] = points[2]; +} + +int AliFemtoTrack::KinkIndex(int aIndex) const +{ + if ((aIndex <3) && (aIndex>=0)) + return fKinkIndexes[aIndex]; + else + return 0; +} diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.h index 85a43a0495d..744e724c221 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoTrack.h @@ -101,6 +101,12 @@ public: void SetTPCcluster(const short& aNBit, const Bool_t& aValue); void SetTPCshared(const short& aNBit, const Bool_t& aValue); + void SetTPCClusterMap(const TBits& aBits); + void SetTPCSharedMap(const TBits& aBits); + + void SetKinkIndexes(int points[3]); + int KinkIndex(int aIndex) const; + /* Th stuff */ void SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo); bool ValidHiddenInfo() const; @@ -114,7 +120,7 @@ public: kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080, kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800, kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000, - kHMPIDpid=0x20000, + kRICHpid=0x20000, kTRDbackup=0x80000, kTRDStop=0x20000000, kESDpid=0x40000000, @@ -147,12 +153,13 @@ public: // TPC related track information float fTPCchi2; // chi2 in the TPC int fTPCncls; // number of clusters assigned in the TPC - short fTPCnclsF; // number of findable clusters in the TPC - short fTPCsignalN; // number of points used for dEdx - float fTPCsignalS; // RMS of dEdx measurement - TBits fClusters; // Cluster per padrow map - TBits fShared; // Sharing per padrow map - + short fTPCnclsF; // number of findable clusters in the TPC + short fTPCsignalN; // number of points used for dEdx + float fTPCsignalS; // RMS of dEdx measurement + TBits fClusters; // Cluster per padrow map + TBits fShared; // Sharing per padrow map + + int fKinkIndexes[3]; // Kink Index list /* Th stuff */ // Fab private : add mutable // mutable diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.cxx index bcdfd6393a9..ce6a65a9247 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.cxx @@ -1,3 +1,9 @@ +//////////////////////////////////////////////////////////////////////////// +// // +// AliFemtoVertexAnalysis - Femtoscopic analysis which mixes events // +// with respect to the z position of the primary vertex // +// // +//////////////////////////////////////////////////////////////////////////// /*************************************************************************** * * $Id$ @@ -13,6 +19,15 @@ *************************************************************************** * * $Log$ + * Revision 1.2.2.2 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.2.2.1 2007/10/05 09:38:17 akisiel + * Fix stray colons + * + * Revision 1.2 2007/07/09 16:17:11 mlisa + * several files changed to change name of AliFemtoAnalysis to AliFemtoSimpleAnalysis and AliFemtoBaseAnalysis to AliFemtoAnalysis. Also removed some hard-coded cuts of Marek + * * Revision 1.1 2007/05/16 10:22:12 akisiel * Making the directory structure of AliFemto flat. All files go into one common directory * @@ -79,7 +94,7 @@ AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(unsigned int bins, double min, do fOverFlow = 0; if (fMixingBuffer) delete fMixingBuffer; fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexBins,fVertexZ[0],fVertexZ[1]); -}; +} //____________________________ AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) : @@ -153,23 +168,25 @@ AliFemtoVertexAnalysis::~AliFemtoVertexAnalysis(){ //____________________________ AliFemtoString AliFemtoVertexAnalysis::Report() { + // prepare report fromt the execution cout << "AliFemtoVertexAnalysis - constructing Report..."<PrimVertPos().z(); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.h index fedd161f188..4218bfdd8cb 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexAnalysis.h @@ -1,11 +1,18 @@ +//////////////////////////////////////////////////////////////////////////// +// // +// AliFemtoVertexAnalysis - Femtoscopic analysis which mixes events // +// with respect to the z position of the primary vertex // +// // +//////////////////////////////////////////////////////////////////////////// + /*************************************************************************** * Collection and analysis for vertex dependent event mixing * Frank Laue, Ohio State, 2000 * **************************************************************************/ -#ifndef AliFemtoVertexAnalysis_hh -#define AliFemtoVertexAnalysis_hh +#ifndef ALIFEMTOVERTEXANALYSIS_H +#define ALIFEMTOVERTEXANALYSIS_H #include "AliFemtoSimpleAnalysis.h" // base analysis class @@ -13,7 +20,7 @@ class AliFemtoVertexAnalysis : public AliFemtoSimpleAnalysis { public: - AliFemtoVertexAnalysis(unsigned int =10, double =-100., double=+100.); + AliFemtoVertexAnalysis(unsigned int bins=10, double min=-100., double max=+100.); AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& OriginalAnalysis); // copy constructor virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent); virtual ~AliFemtoVertexAnalysis(); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.cxx b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.cxx index 02770aee8c1..ba7d6fa9aee 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.cxx @@ -13,6 +13,15 @@ *************************************************************************** * * $Log$ + * Revision 1.2.2.2 2007/10/12 14:28:37 akisiel + * New wave of cleanup and rule conformance + * + * Revision 1.2.2.1 2007/10/05 09:38:17 akisiel + * Fix stray colons + * + * Revision 1.2 2007/07/09 16:17:11 mlisa + * several files changed to change name of AliFemtoAnalysis to AliFemtoSimpleAnalysis and AliFemtoBaseAnalysis to AliFemtoAnalysis. Also removed some hard-coded cuts of Marek + * * Revision 1.1 2007/05/16 10:22:12 akisiel * Making the directory structure of AliFemto flat. All files go into one common directory * @@ -41,6 +50,15 @@ * * **************************************************************************/ +//////////////////////////////////////////////////////////////////////////// +// // +// AliFemtoVertexMultAnalysis - Femtoscopic analysis which mixes event // +// with respect to the z position of the primary vertex and event total // +// multiplicity // +// You need to provide the number of z-vertex and multiplicity bins // +// as well as ranges for the variables // +// // +//////////////////////////////////////////////////////////////////////////// #include "AliFemtoVertexMultAnalysis.h" #include "AliFemtoParticleCollection.h" @@ -56,13 +74,13 @@ ClassImp(AliFemtoVertexMultAnalysis) #endif extern void FillHbtParticleCollection(AliFemtoParticleCut* partCut, - AliFemtoEvent* hbtEvent, - AliFemtoParticleCollection* partCollection); + AliFemtoEvent* hbtEvent, + AliFemtoParticleCollection* partCollection); //____________________________ AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(unsigned int binsVertex, double minVertex, double maxVertex, - unsigned int binsMult, double minMult, double maxMult) + unsigned int binsMult, double minMult, double maxMult) : fVertexZBins(binsVertex), fOverFlowVertexZ(0), @@ -89,7 +107,7 @@ AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(unsigned int binsVertex, if (fMixingBuffer) delete fMixingBuffer; fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1], fMultBins,fMult[0],fMult[1]); -}; +} //____________________________ AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) : @@ -170,29 +188,33 @@ AliFemtoVertexMultAnalysis::~AliFemtoVertexMultAnalysis(){ //____________________________ AliFemtoString AliFemtoVertexMultAnalysis::Report() { + // Prepare a report of the execution cout << "AliFemtoVertexMultAnalysis - constructing Report..."<PrimVertPos().z(); diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.h index 7370d2b6446..bd4df980b21 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoVertexMultAnalysis.h @@ -1,27 +1,29 @@ -/*************************************************************************** - * Frank Laue, Ohio State, 2001 - * - **************************************************************************/ +//////////////////////////////////////////////////////////////////////////// +// // +// AliFemtoVertexMultAnalysis - Femtoscopic analysis which mixes event // +// with respect to the z position of the primary vertex and event total // +// multiplicity // +// // +//////////////////////////////////////////////////////////////////////////// -#ifndef AliFemtoVertexMultAnalysis_hh -#define AliFemtoVertexMultAnalysis_hh +#ifndef ALIFEMTOVERTEXMULTANALYSIS_H +#define ALIFEMTOVERTEXMULTANALYSIS_H #include "AliFemtoSimpleAnalysis.h" // base analysis class -#include class AliFemtoVertexMultAnalysis : public AliFemtoSimpleAnalysis { public: - AliFemtoVertexMultAnalysis(unsigned int=10, double=-100., double=+100., unsigned int b=10, double=-1.e9, double=+1.e9); + AliFemtoVertexMultAnalysis(unsigned int binsVertex=10, double minVertex=-100., double maxVertex=+100., unsigned int binsMult=10, double minMult=-1.e9, double maxMult=+1.e9); AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& TheOriginalAnalysis); // copy constructor virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent); virtual ~AliFemtoVertexMultAnalysis(); virtual AliFemtoString Report(); //! returns reports of all cuts applied and correlation functions being done - virtual unsigned int OverflowVertexZ() { return fOverFlowVertexZ;} - virtual unsigned int UnderflowVertexZ() { return fUnderFlowVertexZ;} - virtual unsigned int OverflowMult() { return fOverFlowMult;} - virtual unsigned int UnderflowMult() { return fUnderFlowMult;} + virtual unsigned int OverflowVertexZ() const { return fOverFlowVertexZ;} + virtual unsigned int UnderflowVertexZ() const { return fUnderFlowVertexZ;} + virtual unsigned int OverflowMult() const { return fOverFlowMult;} + virtual unsigned int UnderflowMult() const { return fUnderFlowMult;} protected: double fVertexZ[2]; /* min/max z-vertex position allowed to be processed */ unsigned int fVertexZBins; /* number of VERTEX mixing bins in z-vertex in EventMixing Buffer */ diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.h b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.h index f05709e08f9..fff3f1c9853 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFemtoXi.h @@ -191,7 +191,7 @@ inline int AliFemtoXi::TpcHitsBac() const inline float AliFemtoXi::DedxBac() const {return fDedxBachelor;} inline unsigned long AliFemtoXi::TrackTopologyMapBac(unsigned int word) const { return fTopologyMapBachelor[word]; } -inline unsigned short AliFemtoXi::IdBac() const { return fKeyBac; }; +inline unsigned short AliFemtoXi::IdBac() const { return fKeyBac; } inline unsigned short AliFemtoXi::KeyBac() const { return fKeyBac; } inline void AliFemtoXi::SetdecayLengthXi(const float x){ fDecayLengthXi= x;} @@ -239,6 +239,12 @@ inline void AliFemtoXi::SetdedxBac(float x){fDedxBachelor=x;} /*********************************************************************** * * $Log$ + * Revision 1.1.2.1 2007/10/05 09:38:17 akisiel + * Fix stray colons + * + * Revision 1.1 2007/05/16 10:22:12 akisiel + * Making the directory structure of AliFemto flat. All files go into one common directory + * * Revision 1.2 2007/05/03 09:42:29 akisiel * Fixing Effective C++ warnings * diff --git a/PWG2/FEMTOSCOPY/AliFemto/AliFmPhysicalHelix.h b/PWG2/FEMTOSCOPY/AliFemto/AliFmPhysicalHelix.h index 192b9a7c0a6..4b41a11731f 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/AliFmPhysicalHelix.h +++ b/PWG2/FEMTOSCOPY/AliFemto/AliFmPhysicalHelix.h @@ -3,8 +3,8 @@ // AliFmHelix: a helper helix class // // // /////////////////////////////////////////////////////////////////////////// -#ifndef ALIPHYSICALHELIX_H -#define ALIPHYSICALHELIX_H +#ifndef ALIFMPHYSICALHELIX_H +#define ALIFMPHYSICALHELIX_H #include "AliFmThreeVector.h" #include "AliFmHelix.h" diff --git a/PWG2/FEMTOSCOPY/AliFemto/SystemOfUnits.h b/PWG2/FEMTOSCOPY/AliFemto/SystemOfUnits.h index c5cf7a52a93..b09fdb451fa 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/SystemOfUnits.h +++ b/PWG2/FEMTOSCOPY/AliFemto/SystemOfUnits.h @@ -35,6 +35,12 @@ *************************************************************************** * * $Log$ + * Revision 1.1.2.1 2007/10/05 09:38:17 akisiel + * Fix stray colons + * + * Revision 1.1 2007/05/16 10:22:12 akisiel + * Making the directory structure of AliFemto flat. All files go into one common directory + * * Revision 1.1.1.1 2007/04/25 15:38:41 panos * Importing the HBT code dir * @@ -302,6 +308,6 @@ namespace units { #endif -}; +} using namespace units; #endif /* HEP_SYSTEM_OF_UNITS_H */ -- 2.43.0