AliFMDEventInspector() | |
AliFMDEventInspector(const char* name) | |
virtual | ~AliFMDEventInspector() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
static const char* | CodeString(UInt_t mask) |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
void | CreateOutputObjects(TList* dir) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
Bool_t | FetchHistograms(const TList* d, TH1I*& hEventsTr, TH1I*& hEventsTrVtx, TH1I*& hEventsAcc, TH1I*& hTriggers) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
UShort_t | GetCollisionSystem() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
UShort_t | GetEnergy() const |
Short_t | GetField() const |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Char_t | GetProductionPeriod() const |
Short_t | GetProductionRevision() const |
Short_t | GetProductionYear() const |
ULong_t | GetRunNumber() const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | IsMC() const |
Bool_t | TObject::IsOnHeap() const |
Bool_t | IsProductionMC() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | IsUseDisplacedVertices() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Option_t* option = "") const |
UInt_t | Process(const AliESDEvent* event, UInt_t& triggers, Bool_t& lowFlux, UShort_t& ivz, TVector3& ip, Double_t& cent, UShort_t& nClusters) |
virtual Int_t | TObject::Read(const char* name) |
Bool_t | ReadRunDetails(const AliESDEvent* esd) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetCentralityMethod(const TString& m) |
void | SetCentralityMethod(AliFMDEventInspector::ECentMethod m) |
void | SetDebug(Int_t dbg = 1) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetLowFluxCut(Int_t c) |
void | SetMaxCentrality(Double_t maxcent = -1.0) |
void | SetMaxVzErr(Double_t c = 0.1) |
void | SetMC(Bool_t isMC = true) |
void | SetMinCentrality(Double_t mincent = -1.0) |
void | SetMinPileupContributors(UShort_t nContrib = 3) |
void | SetMinPileupDistance(Double_t cm = 0.8) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetpA2012Vtx(Bool_t use) |
void | SetPileupFlags(UShort_t flags = 0x5) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | SetupForData(const TAxis& vtxAxis) |
void | SetUseDisplacedVertices(Bool_t use = true) |
void | SetUseFirstPhysicsVtx(Bool_t use) |
void | SetUseV0AndForNSD(Bool_t use = true) |
void | SetVertexMethod(AliFMDEventInspector::EVtxType t) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | StoreInformation() |
virtual void | StoreProduction() |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
AliFMDEventInspector(const AliFMDEventInspector& o) | |
Bool_t | AllowDisplaced() const |
void | CacheConfiguredTriggerClasses(TList& cache, const TList* classes, AliOADBPhysicsSelection* o) |
virtual Bool_t | CheckCosmics(const TString& trigStri) const |
virtual Bool_t | CheckEmpty(const TString& trigStr, UInt_t& triggers) const |
virtual Bool_t | CheckFastPartition(bool fastonly) const |
virtual Bool_t | CheckINELGT0(const AliESDEvent& esd, UShort_t& nClusters, UInt_t& triggers) const |
virtual Bool_t | CheckMultiVertex(const AliESDEvent& esd, Bool_t checkOtherBC = false) const |
virtual Bool_t | CheckNSD(const AliESDEvent& esd, UInt_t& triggers) const |
virtual AliFMDEventInspector::EVtxStatus | CheckpA2012Vertex(const AliESDEvent& esd, TVector3& ip) const |
virtual AliFMDEventInspector::EVtxStatus | CheckpA2013Vertex(const AliESDEvent& esd, TVector3& ip) const |
Bool_t | CheckpAExtraV0(const AliESDEvent& esd) const |
virtual Bool_t | CheckPileup(const AliESDEvent& esd, UInt_t& triggers) const |
virtual AliFMDEventInspector::EVtxStatus | CheckPWGUDVertex(const AliESDEvent& esd, TVector3& ip) const |
virtual AliFMDEventInspector::EVtxStatus | CheckVertex(const AliESDEvent& esd, TVector3& ip) const |
virtual Bool_t | CheckWords(const AliESDEvent& esd, UInt_t& triggers) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
AliFMDEventInspector& | operator=(const AliFMDEventInspector& o) |
virtual Bool_t | ReadCentrality(const AliESDEvent& esd, Double_t& cent, UShort_t& qual) const |
Bool_t | ReadTriggers(const AliESDEvent& esd, UInt_t& triggers, UShort_t& nClusters) |
Bool_t | ReadVertex(const AliESDEvent& esd, TVector3& ip) |
enum ECodes { | kOk | |
kNoEvent | ||
kNoTriggers | ||
kNoSPD | ||
kNoFMD | ||
kNoVertex | ||
kBadVertex | ||
}; | ||
enum ETrgBins { | kInel | |
kInelGt0 | ||
kNSD | ||
kV0AND | ||
kEmpty | ||
kA | ||
kB | ||
kC | ||
kE | ||
kPileUp | ||
kMCNSD | ||
kSatellite | ||
kSpdOutlier | ||
kOffline | ||
}; | ||
enum EVtxType { | kNormal | |
kpA2012 | ||
kpA2013 | ||
kPWGUD | ||
kDisplaced | ||
}; | ||
enum EPileupType { | kSPD | |
kTracks | ||
kOutOfBunch | ||
}; | ||
enum ECentMethod { | kV0Multiplicity | |
kV0Amplitude | ||
kV0Charge | ||
kFMDRough | ||
kNTracks | ||
kLTracks | ||
kCL0 | ||
kCL1 | ||
kCND | ||
kNParticles | ||
kNeutrons | ||
kV0vsFMD | ||
kV0vsNTracks | ||
kZEMvsZDC | ||
kDefaultCent | ||
}; | ||
enum ECollisionSystem { | kUnknown | |
kPP | ||
kPbPb | ||
}; | ||
enum EVtxStatus { | kVtxOK | |
kNoVtx | ||
kNoSPDVtx | ||
kFewContrib | ||
kUncertain | ||
kNotVtxZ | ||
}; | ||
enum ETrgStatus { | kNoTrgWords | |
kPP2760Fast | ||
kMUON | ||
kTriggered | ||
kMinBias | ||
kMinBiasNoSPD | ||
kV0AndTrg | ||
kHighMult | ||
kCentral | ||
kSemiCentral | ||
kDiffractive | ||
kUser | ||
kOther | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TList | fBgWords | ! Configured background words |
TAxis* | fCentAxis | Centrality axis used in histograms |
TString | fCentMethod | Centrality method |
TList | fCollWords | ! Configured collision words |
UShort_t | fCollisionSystem | Collision system |
Int_t | fDebug | Debug level |
AliDisplacedVertexSelection | fDisplacedVertex | Displaced vertex selector |
UShort_t | fEnergy | CMS energy (per nucleon pair) [GeV] |
Short_t | fField | L3 magnetic field [kG] |
TH1F* | fHCent | ! Centrality |
TH2F* | fHCentVsQual | ! Centrality vs quality |
TH1I* | fHEventsAccepted | ! Events w/trigger and vertex in range |
TH2D* | fHEventsAcceptedXY | ! XY vtx with trigger and Z vertex in range |
TH1I* | fHEventsTr | ! Histogram of events w/trigger |
TH1I* | fHEventsTrVtx | ! Events w/trigger and vertex |
TH1I* | fHPileup | ! Pile-up status |
TH1I* | fHStatus | ! Event processing status |
TH1I* | fHTrgStatus | ! Trigger processing status |
TH2I* | fHTriggerCorr | ! Correlation of triggers |
TH1I* | fHTriggers | ! Triggers |
TH1I* | fHType | ! Type (low/high flux) of event |
TH1I* | fHVtxStatus | ! Vertex processing status |
TH1I* | fHWords | ! Trigger words |
TList* | fList | ! Histogram container |
Int_t | fLowFluxCut | Low flux cut |
Bool_t | fMC | Is this MC input |
Double_t | fMaxCent | max centrailty |
Double_t | fMaxVzErr | Maximum error on v_z |
Double_t | fMinCent | min centrality |
UShort_t | fMinPileupContrib | Min contributors to 2nd pile-up IP |
Double_t | fMinPileupDistance | Min distance of 2nd pile-up IP |
TString | TNamed::fName | object identifier |
UShort_t | fPileupFlags | Which pileups to use |
Char_t | fProdLetter | Production letter |
Bool_t | fProdMC | True if anchor production |
Short_t | fProdPass | Pass number |
Int_t | fProdSVN | AliROOT revision used in production |
Short_t | fProdYear | Production year |
ULong_t | fRunNumber | Current run number |
TString | TNamed::fTitle | object title |
Bool_t | fUseV0AND | Use the vtx code from p+p first physics |
TAxis | fVtxAxis | IP_z Axis |
AliFMDEventInspector::EVtxType | fVtxMethod | Vertex method to use |
Inheritance Chart: | ||||||||||||
|
Initialize the object - this is called on the first seen event. Parameters: vtxAxis Vertex axis in use
Define the output histograms. These are put in a sub list of the passed list. The histograms are merged before the parent task calls AliAnalysisTaskSE::Terminate dir Directory to add to
Process the event Parameters: event Input event triggers On return, the triggers fired lowFlux On return, true if the event is considered a low-flux event (according to the setting of fLowFluxCut) ivz On return, the found vertex bin (1-based). A zero means outside of the defined vertex range vz On return, the z position of the interaction cent On return, the centrality - if not available < 0 Return: 0 (or kOk) on success, otherwise a bit mask of error codes
For the 2.76 TeV p+p run (LHC11a), the FMD ran in the slow partition so it received no triggers from the fast partition. Therefore the fast triggers are removed here but not for MC where all triggers are fast.
MUON triggers are not strictly minimum bias (MB) so they are removed (HHD)
Check for multiple vertices (pile-up) with at least 3 contributors and at least 0.8cm from the primary vertex if(fCollisionSystem != AliForwardUtil::kPP) return false;
Adapted from AliAnalysisUtils Parameters
This is the code used by the 1st physics people
This code is adopted from AliAnalysisUtils::IsVertexSelected2013pA(AliVEvent *event)
Use standard SPD vertex (perhaps preferable for Pb+Pb) Get the vertex
* Set the number of SPD tracklets for which we consider the event a * low-flux event or not . * * @param c Cut (default 1000)
{ fLowFluxCut = c; }
* Set the maximum error on @f$ v_z@f$ * * @param c Maximum error (in centimeters)
{ fMaxVzErr = c; }
* Set the vertex method to use * * @param t Method
{ fVtxMethod = t; }
* Use the first physics vtx code. * * @param use Use it or not * @deprecated Use SetVertexMethod
* Use the first physics vtx code. * * @param use Use it or not * @deprecated Use SetVertexMethod
* Use the 2012 pA vtx code. * * @param use Use it or not
{fUseV0AND = use; }
* Set the minimum number of contributors for a 2nd pile-up vertex * * @param nContrib Least number of contributors
* Set minimum distance from primary vertex to 2nd pile-up vertex * * @param cm Distance (in centimeters)
* Enable selection of displaced vertices. * * @param use whether to use * @deprecated Use SetVertexMethod
* Set the lower centrality cut - if negative, do not use * * @deprecated We should accept all events in the AOD pass * * @param mincent Lower cut on centrality
{ return AllowDisplaced(); }
* Set the centrality method to use. Possible values are * * - VOM - VZERO multiplicity * - V0A - VZERO amplitude * - V0C - VZERO charge * - FMD - FMD scaled energy loss * - TRK - Number of tracks * - TKL - Number of tracks * - CL0 - * - CL1 - * - CND - * - NPA - Neutral particles * - ZNA - ZDC neutron amplitude * - V0MvsFMD - VZERO versus FMD * - TKLvsVOM - Tracks versus VZERO * - ZEMvsZDC - ZDC * * @param m
{ fCentMethod = m; }
* Pile-up flags. A bit mask of EPileupType * - 0x1 Check for number of vertices from SPD * - 0x2 Check for number of vertices from tracks * - 0x4 Check out-of-bunch pile-up * * @param flags A bit mask of EPileupType
{ fPileupFlags = flags; }
* Set the debug level. The higher the value the more output * * @param dbg Debug level
{ fDebug = dbg; }
* Set whether this is MC or not. Needed by energy loss fitter task * that never instantices AliFMDMCEventInspector. In particular, we * need this to make sure we ignore the FAST partition flag in MC * for 2.76TeV pp. * * @param isMC If true, assume MC input
{ fMC = isMC; }
* Fetch our histograms from the passed list * * @param d Input * @param hEventsTr On return, pointer to histogram, or null * @param hEventsTrVtx On return, pointer to histogram, or null * @param hEventsAcc On return, pointer to histogram, or null * @param hTriggers On return, pointer to histogram, or null * * @return true on success, false otherwise
{ return fMC; }
* Get the collision system (one of the value in ECollisionSystem) * * @return Collision system
{ return fCollisionSystem; }
* Get the center of mass energy (per nucleon pair) in GeV * * @return center of mass energy (per nucleon pair) in GeV
{ return fEnergy; }
* Get the magnetic field setting of the L3 magnet in kilo Gauss. * * @return The magnetic field setting
{ return fField; }
* Get the current run number * * @return The current run number
{ return fRunNumber; }
* Get the production year. * * - For real data, this is the year of the data taking * - For MC this is the year the production is anchored to. * * @return A two-digit year (post millennium), or -1
{ return fProdYear; }
* Get the production period. * * - For real data, this is the period identifier of the data taking * - For MC data, this is the period identifier the production was * anchored to * * @return Period identifier or null
{ return fProdLetter; }
* Get the AliROOT revision used for this production * * @return SVN revision number or -1
{ return fProdSVN; }
* Check if the production was an MC production anchored in some * real data. * * @return true if this (MC) production was anchored
{ return fProdMC; }
* Assignement operator - not implemented * * @param o Object to assign from * * @return Reference to this object
* Cache the configure trigger classes from the physis selection. * * @param cache where to cache the trigger class. * @param classes List of configured classes. * @param o Object from OADB with config
{ return fVtxMethod == kDisplaced; }