//--------------------------------------------------------------------------- void __fastcall TMainForm::StructTreeChange(TObject *Sender, TTreeNode *Node) { int oLevel = _path.GetSize() - 1; // if it was a single column display, treat it as one level less if (_colNum >= 0) --oLevel; int nLevel = Node->Level; _path.SetSize(nLevel + 1); c4_IntProp pItem ("item"); c4_StringProp pName ("name"); for (TTreeNode* p = Node; p; p = p->Parent) { int k = p->Level; c4_RowRef row = _path[k]; c4_String old (pName (row)); pName (row) = p->Text.c_str(); if (pName (row) != old) nLevel = k; } for (int i = nLevel; i < _path.GetSize(); ++i) pItem (_path[i]) = 0; if (nLevel > oLevel && DataGrid->Row > 0) pItem (_path[oLevel+1]) = DataGrid->Row - 1; SetupData(); }
void CEmTubePlaylist::ConstructL( RFileReadStream& aStream ) { TInt l = aStream.ReadInt32L(); if( l ) { iName = HBufC::NewL( l ); TPtr pName( iName->Des() ); aStream.ReadL( pName, l ); } else { iName = KNullDesC().AllocL(); } iType = (TEmTubePlaylistType)aStream.ReadInt32L(); iFlags = aStream.ReadInt32L(); TInt count = aStream.ReadInt32L(); for(TInt i=0;i<count;i++) { CEmTubePlaylistEntry* e = CEmTubePlaylistEntry::NewLC(); e->ImportL( aStream ); iEntries.AppendL( e ); CleanupStack::Pop( e ); } }
static sword __stdcall CSqLite3ColumnsSearchAndSortFunc(ConstPointer item, ConstPointer data) { Ptr(CSqLite3Column) pColumn = CastAnyPtr(CSqLite3Column, CastMutable(Pointer, item)); CStringLiteral pName(CastAny(CPointer, CastMutable(Pointer, data))); return pName.Compare(pColumn->get_Name()); }
void CEmTubePlaylistEntry::ImportL( RFileReadStream& aStream ) { TInt l = aStream.ReadInt32L(); if( l ) { iLocation = HBufC::NewL( l ); TPtr pLocation( iLocation->Des() ); aStream.ReadL( pLocation, l ); } else { iLocation = KNullDesC().AllocL(); } l = aStream.ReadInt32L(); if( l ) { iName = HBufC::NewL( l ); TPtr pName( iName->Des() ); aStream.ReadL( pName, l ); } else { iName = KNullDesC().AllocL(); } iPlayCount = aStream.ReadInt32L(); iType = (TEmTubePlaylistEntryType)aStream.ReadInt32L(); TReal t = aStream.ReadReal64L(); iTime = TTime( Int64( t ) ); }
QSharedPointer<PatternViewMap> PatternCompiler::analyzeText(const QStringList &patternNames, const QString &text) { QByteArray arr = codec->fromUnicode(text); std::string res(arr.data()); lspl::text::TextRef txt = reader.readFromString(res); PatternViewMap* result = new PatternViewMap; for(QString pattern: patternNames){ PatternType patternType; QByteArray p = codec->fromUnicode(pattern); std::string pName(p.data()); lspl::patterns::PatternRef pat = ns->getPatternByName(pName); QString patSource(pat->getSource().c_str()); if(patSource.contains(RIGHT_WITH_PATTERN)){ patternType = RIGHT_PART_PATTERN; }else if (patSource.contains(RIGHT_WITH_TEXT)){ patternType = RIGHT_PART_TEXT; } else { patternType = NO_RIGHT_PART; } lspl::text::MatchList matches = txt->getMatches(pat); QVector<MatchRepr> resultPattern; for(uint i = 0; i < matches.size(); ++i){ MatchRepr rep = convertMatch(matches[i],patternType); resultPattern.append(rep); } (*result)[pattern]=resultPattern; } return QSharedPointer<PatternViewMap>(result); }
//----------------------------------------------------------------------------- //Function Name : TInt SearchNameInExe(const TE32ExpSymInfoHdr* aSymInfoHeader, // const char* aName, void*& aSymAddress) //Description : To search for symbol named name in EXE. If symbol is found // address is set to aSymAddress. //Return Value : KErrNone if symbol found otherwise system wide error codes. //----------------------------------------------------------------------------- TInt SearchNameInExe(const TE32ExpSymInfoHdr* aSymInfoHeader, const char* aName, void*& aSymAddress) { //no of symbols in this exe TInt symCount = aSymInfoHeader->iSymCount; //descriptor for symbol name TPtrC8 tempName; TPtrC8 pName((unsigned char*)aName); //calculate first string address i.e. skip symbol addresses and structure itself char* tempstring = (char*)aSymInfoHeader + sizeof(TE32ExpSymInfoHdr) + (KFourByteOffset * symCount); //symbol are continuous set of NULL terminated strings //so search one by one for (TInt i = 0; i < symCount; ++i) { tempName.Set((unsigned char*)tempstring, strlen(tempstring)); //if symbol found if ( !pName.Compare(tempName) ) { aSymAddress = *( (void**)( (TUint8*)aSymInfoHeader + sizeof(TE32ExpSymInfoHdr) + (KFourByteOffset * i))); return KErrNone; } //advance to next symbol tempstring += tempName.Length() + 1; } return KErrNotFound; }
EXPORT_C void CMemSpyEngineOutputSink::DataStreamTimeStampBeginL( const TTime& aTime ) { const TDateTime dt( aTime.DateTime() ); // Build it up... HBufC* spec = HBufC::NewL( KMaxFileName ); TPtr pName( spec->Des() ); pName.Format( KMemSpyDataStreamFolderNameFormatSpec, dt.Year(), dt.Month()+1, dt.Day()+1, dt.Hour(), dt.Minute(), dt.Second()); DataStreamTimeStampEnd(); iDataStreamTimeStampSpecifier = spec; }
void CMemSpyEngineSinkMetaData::ConstructL( const TDesC& aRoot, const TDesC& aContext, const TDesC& aFolder, const TDesC& aExtension, const TTime& aFolderTime ) { iRoot = aRoot.AllocL(); iContext = aContext.AllocL(); iFolder = aFolder.AllocL(); iExtension = aExtension.AllocL(); const TDateTime dt = aFolderTime.DateTime(); HBufC* spec = HBufC::NewLC( KMaxFileName ); TPtr pName( spec->Des() ); pName.Format( KMemSpyDataStreamFolderNameFormatSpec, dt.Year(), dt.Month()+1, dt.Day()+1, dt.Hour(), dt.Minute(), dt.Second()); iFolderTimeStamp = pName.AllocL(); CleanupStack::PopAndDestroy( spec ); }
void Sid::get_name_dom(value_type sid, ustring& name, ustring& dom, PCWSTR srv) { check(sid); DWORD size_nam = 0; DWORD size_dom = 0; SID_NAME_USE type; // determine size of name ::LookupAccountSidW(srv, sid, nullptr, &size_nam, nullptr, &size_dom, &type); CheckApi(::GetLastError() == ERROR_INSUFFICIENT_BUFFER); memory::auto_array<wchar_t> pName(size_nam); memory::auto_array<wchar_t> pDom(size_dom); CheckApi(::LookupAccountSidW(srv, sid, pName.data(), &size_nam, pDom.data(), &size_dom, &type)); name = pName; dom = pDom; }
void CAzqBtGPSReader::StartL() { if(iState != ENoState) { /*{ _LIT(KGPSStateUpdate,"BT GPS Engine busy..."); iObserver.OnGPSStateUpdate(KGPSStateUpdate,iGPSData ); }*/ User::Leave(KErrNotReady); } // 1. Connect to the socket server _LIT(KBTLM, "BTLinkManager"); TProtocolDesc pInfo; TProtocolName pName(KBTLM); User::LeaveIfError(iSocketServer.FindProtocol(pName,pInfo)); // 2. Create and initialise an RHostResolver iHostResolver.Close();//if it was already opened by a previous try; User::LeaveIfError(iHostResolver.Open(iSocketServer,pInfo.iAddrFamily,pInfo.iProtocol)); // 3. Set up a discovery query and start it iInquirySockAddr.SetIAC(KGIAC); //KHostResInquiry | KHostResName | KHostResIgnoreCache iInquirySockAddr.SetAction(KHostResInquiry | KHostResIgnoreCache); iInquirySockAddr.SetMajorClassOfDevice(KBtGPSMajorClass); iBtGPSArray.Reset(); iGPSData.Reset(); iState = EInquiringDevices; { _LIT(KGPSStateUpdate,"Searching for BT GPS..."); iObserver.OnGPSStateUpdate(KGPSStateUpdate,iGPSData ); } iHostResolver.GetByAddress(iInquirySockAddr, iNameEntry, iStatus); SetActive(); ResetBtTimer(); }
QString NanoDMX::getDeviceName() { QDir sysfsDevDir("/sys/bus/usb/devices"); QStringList devDirs = sysfsDevDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); // 1- scan all the devices in the device bus foreach (QString dir, devDirs) { if (dir.startsWith(QString::number(interface()->busLocation())) && dir.contains(".") && dir.contains(":") == false) { // 2- Match the product name //qDebug() << "SYSFS Directory:" << dir; QFile pName(QString("/sys/bus/usb/devices/%1/product").arg(dir)); if (pName.open(QIODevice::ReadOnly)) { QString prodString = pName.readAll(); pName.close(); //qDebug() << "Got prod string:" << prodString.simplified() << "name:" << name; if (name() == prodString.simplified()) { QDir devPorts("/sys/bus/usb/devices/" + dir); QStringList devDirs = devPorts.entryList(QDir::Dirs | QDir::NoDotAndDotDot); // 3- scan all the device ports foreach (QString portDir, devDirs) { if (portDir.startsWith(dir)) { QDir ttyDir(QString("/sys/bus/usb/devices/%1/%2/tty").arg(dir).arg(portDir)); qDebug() << "ttyDir:" << ttyDir.absolutePath(); // 4- extract the tty port number if (ttyDir.exists()) { QStringList ttyList = ttyDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); foreach(QString ttyName, ttyList) { qDebug() << "This NanoDMX adapter will use" << QString("/dev/" + ttyName); return QString("/dev/" + ttyName); } } }
GameEntity* Room::FindPlayer(std::string name) const { std::vector<GameEntity*> players = players_->GetEntityVector(); std::string lowername(name); for (size_t i = 0; i < lowername.length(); ++i) { lowername.at(i) = std::tolower(lowername.at(i)); } for (GameEntity* p : players) { std::string pName(p->GetName()); for (size_t i = 0; i < pName.length(); ++i) { pName.at(i) = std::tolower(pName.at(i)); } if (pName == lowername) { return p; } } return nullptr; }
GameEntity * Room::FindMob(std::string name) const { std::vector<GameEntity*> mobs = mobs_->GetEntityVector(); std::string lowername(name); for (size_t i = 0; i < lowername.length(); ++i) { lowername.at(i) = std::tolower(lowername.at(i)); } for (GameEntity* m : mobs) { std::string pName(m->GetName()); for (size_t i = 0; i < pName.length(); ++i) { pName.at(i) = std::tolower(pName.at(i)); } if (pName == lowername) { return m; } } return nullptr; }
bool SimXMLLoader::parseAgentProfile( TiXmlElement * node, AgentInitializer * agentInit ) { // Extract the name const char * nameCStr = node->Attribute( "name" ); if ( nameCStr == 0x0 ) { logger << Logger::ERR_MSG << "The AgentProfile defined on line " << node->Row() << " is missing the required \"name\" attribute."; return false; } std::string name( nameCStr ); if ( _profiles.find( name ) != _profiles.end() ) { logger << Logger::ERR_MSG << "The AgentProfile defined on line " << node->Row() << " has a name value (\"" << name << "\")that has previously been used."; return false; } AgentInitializer * init; // test inheritance const char * parentCStr = node->Attribute( "inherits" ); if ( parentCStr ) { std::string pName( parentCStr ); HASH_MAP< std::string, AgentInitializer * >::iterator itr = _profiles.find( pName ); if ( itr == _profiles.end() ) { logger << Logger::ERR_MSG << "The AgentProfile on line " << node->Row() << " inherits from the undefined AgentProfile \"" << pName << "\". Make sure the parent profile is defined <i>before</i> the child profile."; return false; } else { init = itr->second->copy(); } } else { init = agentInit->copy(); init->setDefaults(); } _profiles[ name ] = init; for( TiXmlElement * child = node->FirstChildElement(); child; child = child->NextSiblingElement()) { if ( ! init->parseProperties( child, _sceneFldr) ) { logger << Logger::ERR_MSG << "Error parsing AgentProfile properties from line " << child->Row() << "."; return false; } } return true; }
Symbol * InScope(char* key){// before calling this function make sure there is a parent scope Symbol * symbP; SymScope *sync; ClassNode * parent; ClassNode * clasp; char* parentName; bool found; string pName; int i =0; // cout<<" the key is "<<key<<endl; symbP = m_symboltable->lookup(key); if(!m_symboltable->exist(key)){ symbP = m_symboltable->lookup((const char *)"xxx"); char * Cname = strdup(symbP->classType.classID); parent = m_classtable->lookup(Cname); // cout<<"parent: "<<parent->name->spelling()<<endl; sync = parent->scope; symbP = sync->lookup(key); found = sync->exist(key); while(found == false){ ClassName * classGreat = new ClassName(Cname); ClassNode* pNode = m_classtable->getParentOf(classGreat); Cname = strdup(pNode->name->spelling()); std::string pName(pNode->name->spelling()); // cout<<"the parent name: "<<Cname<<endl; if( pName == "TopClass"){ return NULL; } sync = pNode->scope; found = sync->exist(key); symbP = sync->lookup(key); i++; } } return symbP; }
bool MReportViewer::printGhostReport() { if (report == 0) return false; int cnt = report->pageCount(); if (cnt == 0) return false; QString outPsFile(AQ_DISKCACHE_DIRPATH + "/outprint.ps"); QFile::remove(outPsFile); if (!printReportToPS(outPsFile)) return false; bool gsPrintOk = false; QProcess *procTemp = new QProcess(); procTemp->addArgument("gsprint"); procTemp->addArgument("-help"); gsPrintOk = procTemp->start(); delete procTemp; QProcess *proc = new QProcess(); if (gsPrintOk) { proc->addArgument("gsprint"); proc->addArgument("-color"); proc->addArgument("-query"); proc->addArgument(outPsFile); } else { QString setupPsFile(AQ_DISKCACHE_DIRPATH + "/setup.ps"); QFile::remove(setupPsFile); QFile fileSetup(setupPsFile); if (fileSetup.open(IO_WriteOnly)) { QTextStream stream(&fileSetup); stream << "mark" << "\n"; stream << " /NoCancel true" << "\n"; if (!printerName_.isEmpty()) { QString pName(" /OutputFile (%printer%"); pName += printerName_ + ")"; stream << pName << "\n"; } stream << " /BitsPerPixel 24" << "\n"; stream << " /UserSettings" << "\n"; stream << " <<" << "\n"; stream << " /DocumentName (AbanQ document)" << "\n"; stream << QString(" /DocumentRange [1 %1]").arg(cnt) << "\n"; stream << QString(" /SelectedRange [1 %1]").arg(cnt) << "\n"; stream << QString(" /MaxResolution %1").arg(dpi_) << "\n"; stream << " >>" << "\n"; stream << " (mswinpr2) finddevice" << "\n"; stream << " putdeviceprops" << "\n"; stream << "setdevice" << "\n"; fileSetup.close(); } proc->addArgument("gswin32c"); proc->addArgument("-q"); proc->addArgument("-dBATCH"); proc->addArgument("-dNOPAUSE"); proc->addArgument("-dNODISPLAY"); proc->addArgument(QString("-r%1").arg(dpi_)); proc->addArgument(setupPsFile); proc->addArgument(outPsFile); } if (!proc->start()) { delete proc; return false; } while (proc->isRunning()) qApp->processEvents(); delete proc; qApp->processEvents(); return true; }
//--------------------------------------------------------------------------- void __fastcall TMainForm::SetupData() { c4_View saveView = _data; DataGrid->Invalidate(); _data = c4_View (); c4_String title = Caption.c_str(); int w = title.Find(" - "); if (w > 0) Caption = (const char*) title.Left(w); int n = _path.GetSize(); if (n == 0) { DataGrid->ColCount = 1; DataGrid->RowCount = 1; return; } _data = _storage; c4_IntProp pItem ("item"); c4_StringProp pName ("name"); for (c4_Cursor curr = &_path[0]; curr < &_path[n]; ++curr) { int item = pItem (*curr); c4_String name (pName (*curr)); if (item >= _data.GetSize()) _data = c4_View (); _colNum = -1; // assume we'll be looking at an entire view for (int i = 0; i < _data.NumProperties(); ++i) { c4_Property prop (_data.NthProperty(i)); if (prop.Name() == name) { if (prop.Type() == 'V') _data = ((c4_ViewProp&) prop) (_data[item]); else _colNum = i; // wrong assumption, just one column break; } } char buf [10]; if (curr == &_path[0]) strcpy(buf, " - "); else if (_colNum >= 0) strcpy(buf, "."); else wsprintf(buf, "[%d].", item); Caption = Caption + buf; Caption = Caption + (const char*) name; } DataGrid->ColCount = _colNum >= 0 ? 2 : _data.NumProperties() + 1; if (DataGrid->ColCount > 1) DataGrid->FixedCols = 1; DataGrid->ColWidths[0] = 40; if (_colNum >= 0) DataGrid->ColWidths[1] = 250; if (&saveView[0] != &_data[0]) { DataGrid->RowCount = 1; // force a reset to top DataGrid->RowCount = _data.GetSize() + 1; if (DataGrid->RowCount > 1) DataGrid->FixedRows = 1; } }
void QgsPluginManager::getPluginDescriptions() { QString sharedLibExtension; #ifdef WIN32 sharedLibExtension = "*.dll"; #else sharedLibExtension = "*.so*"; #endif // check all libs in the current ans user plugins directories, and get name and descriptions QSettings settings; QStringList myPathList( lblPluginDir->text() ); QString myPaths = settings.value( "plugins/searchPathsForPlugins", "" ).toString(); if ( !myPaths.isEmpty() ) { myPathList.append( myPaths.split( "|" ) ); } for ( int j = 0; j < myPathList.size(); ++j ) { QString myPluginDir = myPathList.at( j ); QDir pluginDir( myPluginDir, sharedLibExtension, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks ); if ( pluginDir.count() == 0 ) { QMessageBox::information( this, tr( "No Plugins" ), tr( "No QGIS plugins found in %1" ).arg( myPluginDir ) ); return; } QgsDebugMsg( "PLUGIN MANAGER:" ); for ( uint i = 0; i < pluginDir.count(); i++ ) { QString lib = QString( "%1/%2" ).arg( myPluginDir ).arg( pluginDir[i] ); #ifdef TESTLIB // This doesn't work on WIN32 and causes problems with plugins // on OS X (the code doesn't cause a problem but including dlfcn.h // renders plugins unloadable) #if !defined(WIN32) && !defined(Q_OS_MACX) // test code to help debug loading problems // This doesn't work on WIN32 and causes problems with plugins // on OS X (the code doesn't cause a problem but including dlfcn.h // renders plugins unloadable) //void *handle = dlopen((const char *) lib, RTLD_LAZY); void *handle = dlopen( lib.toLocal8Bit().data(), RTLD_LAZY | RTLD_GLOBAL ); if ( !handle ) { QgsDebugMsg( "Error in dlopen: " ); QgsDebugMsg( dlerror() ); } else { QgsDebugMsg( "dlopen suceeded for " + lib ); dlclose( handle ); } #endif //#ifndef WIN32 && Q_OS_MACX #endif //#ifdef TESTLIB QgsDebugMsg( "Examining: " + lib ); QLibrary *myLib = new QLibrary( lib ); bool loaded = myLib->load(); if ( !loaded ) { QgsDebugMsg( QString( "Failed to load: %1 (%2)" ).arg( myLib->fileName() ).arg( myLib->errorString() ) ); delete myLib; continue; } QgsDebugMsg( "Loaded library: " + myLib->fileName() ); // Don't bother with libraries that are providers //if(!myLib->resolve("isProvider")) //MH: Replaced to allow for plugins that are linked to providers //type is only used in non-provider plugins if ( !myLib->resolve( "type" ) ) { delete myLib; continue; } // resolve the metadata from plugin name_t *pName = ( name_t * ) cast_to_fptr( myLib->resolve( "name" ) ); description_t *pDesc = ( description_t * ) cast_to_fptr( myLib->resolve( "description" ) ); category_t *pCat = ( category_t * ) cast_to_fptr( myLib->resolve( "category" ) ); version_t *pVersion = ( version_t * ) cast_to_fptr( myLib->resolve( "version" ) ); icon_t* pIcon = ( icon_t * ) cast_to_fptr( myLib->resolve( "icon" ) ); // show the values (or lack of) for each function if ( pName ) { QgsDebugMsg( "Plugin name: " + pName() ); } else { QgsDebugMsg( "Plugin name not returned when queried" ); } if ( pDesc ) { QgsDebugMsg( "Plugin description: " + pDesc() ); } else { QgsDebugMsg( "Plugin description not returned when queried" ); } if ( pCat ) { QgsDebugMsg( "Plugin category: " + pCat() ); } else { QgsDebugMsg( "Plugin category not returned when queried" ); } if ( pVersion ) { QgsDebugMsg( "Plugin version: " + pVersion() ); } else { QgsDebugMsg( "Plugin version not returned when queried" ); } if ( pIcon ) { QgsDebugMsg( "Plugin icon: " + pIcon() ); } if ( !pName || !pDesc || !pVersion ) { QgsDebugMsg( "Failed to get name, description, or type for " + myLib->fileName() ); delete myLib; continue; } QString pluginName = pName(); QString pluginDesc = pDesc(); // if no category defined - use default value QString pluginCat = ( pCat ? pCat() : tr( "Plugins" ) ); QString pluginVersion = pVersion(); QString pluginIconFileName = ( pIcon ? pIcon() : QString() ); QString baseName = QFileInfo( lib ).baseName(); QString myLibraryName = pluginDir[i]; // filtering will be done on the display role so give it name and desription // user wont see this text since we are using a custome delegate QStandardItem * mypDetailItem = new QStandardItem( pluginName + " - " + pluginDesc ); mypDetailItem->setData( myLibraryName, PLUGIN_LIBRARY_ROLE ); mypDetailItem->setData( myPluginDir, PLUGIN_DIRECTORY_ROLE ); mypDetailItem->setData( baseName, PLUGIN_BASE_NAME_ROLE ); //for matching in registry later QgsDetailedItemData myData; myData.setTitle( pluginName ); myData.setDetail( pluginDesc ); myData.setCategory( tr( "Installed in %1 menu/toolbar" ).arg( pluginCat ) ); myData.setRenderAsWidget( false ); myData.setCheckable( true ); myData.setChecked( false ); //start unchecked - we will check it later if needed if ( pluginIconFileName.isEmpty() ) myData.setIcon( QPixmap( QgsApplication::defaultThemePath() + "/plugin.png" ) ); else myData.setIcon( QPixmap( pluginIconFileName ) ); QgsDebugMsg( "Getting an instance of the QgsPluginRegistry" ); // check to see if the plugin is loaded and set the checkbox accordingly QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance(); // get the library using the plugin description if ( !pRegistry->isLoaded( baseName ) ) { QgsDebugMsg( "Couldn't find plugin in the registry" ); } else { QgsDebugMsg( "Found plugin in the registry" ); // TODO: this check shouldn't be necessary, plugin base names must be unique if ( pRegistry->library( baseName ) == myLib->fileName() ) { // set the checkbox myData.setChecked( true ); } } QVariant myVariant = qVariantFromValue( myData ); mypDetailItem->setData( myVariant, PLUGIN_DATA_ROLE ); // Add items to model mModelPlugins->appendRow( mypDetailItem ); delete myLib; } } }
Foam::functionObjects::pressureTools::pressureTools ( const word& name, const Time& runTime, const dictionary& dict ) : functionObject(name), obr_ ( runTime.lookupObject<objectRegistry> ( dict.lookupOrDefault("region", polyMesh::defaultRegion) ) ), pName_("p"), UName_("U"), rhoName_("rho"), calcTotal_(false), pRef_(0.0), calcCoeff_(false), pInf_(0.0), UInf_(Zero), rhoInf_(0.0) { if (!isA<fvMesh>(obr_)) { FatalErrorInFunction << "objectRegistry is not an fvMesh" << exit(FatalError); } read(dict); dimensionSet pDims(dimPressure); if (calcCoeff_) { pDims /= dimPressure; } const fvMesh& mesh = refCast<const fvMesh>(obr_); volScalarField* pPtr ( new volScalarField ( IOobject ( pName(), mesh.time().timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionedScalar("0", pDims, 0.0) ) ); mesh.objectRegistry::store(pPtr); }
bool MReportViewer::printGhostReport() { if (report == 0) return false; int cnt = report->pageCount(); if (cnt == 0) return false; QString outPsFile(AQ_DISKCACHE_DIRPATH + "/outprint.ps"); QFile::remove(outPsFile); int backupNumCopies = numCopies_; numCopies_ = 1; if (!printReportToPS(outPsFile)) { numCopies_ = backupNumCopies; return false; } numCopies_ = backupNumCopies; bool gsPrintOk = false; QProcess *procTemp = new QProcess(); procTemp->addArgument("gsprint"); procTemp->addArgument("-help"); gsPrintOk = procTemp->start(); delete procTemp; QProcess *proc = new QProcess(); if (gsPrintOk) { proc->addArgument("gsprint"); proc->addArgument("-color"); proc->addArgument("-query"); proc->addArgument("-from"); proc->addArgument("1"); proc->addArgument("-to"); proc->addArgument(QString("%1").arg(cnt)); proc->addArgument("-copies"); proc->addArgument(QString("%1").arg(numCopies_)); //proc->addArgument("-q"); //proc->addArgument("-dBATCH"); //proc->addArgument("-dNOPAUSE"); proc->addArgument(outPsFile); } else { QString setupPsFile(AQ_DISKCACHE_DIRPATH + "/setup.ps"); QFile::remove(setupPsFile); QFile fileSetup(setupPsFile); if (fileSetup.open(IO_WriteOnly)) { QTextStream stream(&fileSetup); stream << "mark" << "\n"; stream << " /NoCancel true" << "\n"; if (!printerName_.isEmpty()) { QString pName(" /OutputFile (%printer%"); pName += printerName_ + ")"; stream << pName << "\n"; } stream << " /BitsPerPixel 24" << "\n"; stream << " /UserSettings" << "\n"; stream << " <<" << "\n"; stream << " /DocumentName (AbanQ document)" << "\n"; stream << QString(" /DocumentRange [1 %1]").arg(cnt) << "\n"; stream << QString(" /SelectedRange [1 %1]").arg(cnt) << "\n"; stream << QString(" /MaxResolution %1").arg(dpi_) << "\n"; stream << QString(" /Copies %1").arg(numCopies_) << "\n"; stream << " >>" << "\n"; stream << " (mswinpr2) finddevice" << "\n"; stream << " putdeviceprops" << "\n"; stream << "setdevice" << "\n"; if ((QPrinter::PageSize) report->pageSize() == QPrinter::Custom) { QSize sz(report->pageDimensions()); stream << QString("<< /PageSize [%1 %2] /ImagingBBox null >> setpagedevice") .arg(sz.width()) .arg(sz.height()) << "\n"; } fileSetup.close(); } proc->addArgument(aqApp->gsExecutable()); proc->addArgument("-q"); proc->addArgument("-dBATCH"); proc->addArgument("-dNOPAUSE"); proc->addArgument("-dNODISPLAY"); proc->addArgument(QString("-r%1").arg(dpi_)); switch ((QPrinter::PageSize) report->pageSize()) { case QPrinter::A0: proc->addArgument("-sPAPERSIZE=a0"); break; case QPrinter::A1: proc->addArgument("-sPAPERSIZE=a1"); break; case QPrinter::A2: proc->addArgument("-sPAPERSIZE=a2"); break; case QPrinter::A3: proc->addArgument("-sPAPERSIZE=a3"); break; case QPrinter::A4: proc->addArgument("-sPAPERSIZE=a4"); break; case QPrinter::A5: proc->addArgument("-sPAPERSIZE=a5"); break; case QPrinter::B0: proc->addArgument("-sPAPERSIZE=b0"); break; case QPrinter::B1: proc->addArgument("-sPAPERSIZE=b1"); break; case QPrinter::B2: proc->addArgument("-sPAPERSIZE=b2"); break; case QPrinter::B3: proc->addArgument("-sPAPERSIZE=b3"); break; case QPrinter::B4: proc->addArgument("-sPAPERSIZE=b4"); break; case QPrinter::B5: proc->addArgument("-sPAPERSIZE=b5"); break; case QPrinter::Legal: proc->addArgument("-sPAPERSIZE=legal"); break; case QPrinter::Letter: proc->addArgument("-sPAPERSIZE=letter"); break; case QPrinter::Executive: proc->addArgument("-sPAPERSIZE=executive"); break; default: { QSize sz(report->pageDimensions()); proc->addArgument(QString("-dDEVICEWIDTHPOINTS=%1").arg(sz.width())); proc->addArgument(QString("-dDEVICEHEIGHTPOINTS=%1").arg(sz.height())); } } proc->addArgument(setupPsFile); proc->addArgument(outPsFile); } if (!proc->start()) { delete proc; return false; } //QProgressDialog *pd = new QProgressDialog(tr("Enviando a impresora..."), QString::null, 10000, this, tr("sendprintprogress"), true ); //int step = 0; //QApplication::setOverrideCursor(Qt::WaitCursor); while (proc->isRunning()) { //pd->setProgress(step++); qApp->processEvents(); //if (step == 9999) // step = 0; } //QApplication::restoreOverrideCursor(); delete proc; //delete pd; qApp->processEvents(); return true; }
void makePlots_Combinations(short makePlots=0) { TString dirPlots("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/"); TFile fIn ("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU140_sf1_nz4_pt3_5oo6_14k.root"); TString sLogic ("5oo6"); TString pName("Neutrino_PU140_sf1_nz4_pt3_5oo6_14k"); TString pTitle(" PU140 SF=1 Nz=4 Pt>3 GeV/c"); TFile fIn2("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU140_sf1_nz4_pt3_6oo6_14k.root"); TString sLogic2("6oo6"); //TString pName("Neutrino_PU140_sf1_nz4_pt3_6oo6_14k"); TString pTitle(" PU140 SF=1 Nz=4 Pt>3 GeV/c"); TFile fInOR("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU140_sf1_nz4_pt3_5oo6_14k_OverlapRemoved.root"); // TFile fIn("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU200_sf1_nz4_pt3_5oo6_4k.root"); TString sLogic("5oo6"); TString pName("Neutrino_PU200_sf1_nz4_pt3_5oo6_4k"); TString pTitle(" PU200 SF=1 Nz=4 Pt>3 GeV/c"); // TFile fInOR("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU200_sf1_nz4_pt3_5oo6_4k_OverlapRemoved.root"); // TFile fIn("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU250_sf1_nz4_pt3_5oo6_4k.root"); TString sLogic("5oo6"); TString pName("Neutrino_PU250_sf1_nz4_pt3_5oo6_4k"); TString pTitle(" PU250 SF=1 Nz=4 Pt>3 GeV/c"); // TFile fInOR("/home/rossin/Dropbox/TT/Work/figures_stubCleaning/stubCleaning_Neutrino_PU250_sf1_nz4_pt3_5oo6_4k_OverlapRemoved.root"); TH1* h1stubsInLayer [6][2]; TH1* h1stubsInLayerOR[6][2]; TH1* h1RoadPerEvent [2]; TH1* h1RoadPerEventOR[2]; TH1* h1CombPerRoad [2]; TH1* h1CombPerRoadOR [2]; TH1* h1CombPerEvent [2]; TH1* h1CombPerEventOR[2]; TH1* h1RoadPerEvent6oo6 [2]; TH1* h1CombPerRoad6oo6 [2]; TH1* h1CombPerEvent6oo6 [2]; TString sClean[2] = {TString(""), TString("_Cleaned")}; for (unsigned short iLay=0; iLay<6; ++iLay) { TList* tl = fIn.GetListOfKeys(); TIter next(tl); TObject *obj; char cc[20]; sprintf(cc,"_%d",iLay); TString hString("h1stubsInLayer__"+sLogic+TString(cc)); while ((obj=next())) { TString hName(obj->GetName()); if (hName==hString) { for (unsigned short iClean = 0; iClean < 2; ++iClean) { char cc2[100]; h1stubsInLayer [iLay][iClean] = (TH1*) fIn .Get(hName+sClean[iClean]); sprintf(cc2,"L%d - ",iLay+5); h1stubsInLayer [iLay][iClean]->SetTitle(TString(cc2)+sLogic+pTitle); h1stubsInLayerOR[iLay][iClean] = (TH1*) fInOR.Get(hName+sClean[iClean]); if (h1stubsInLayer [iLay][iClean]==0) { std::cout << "ERROR. " << hName+sClean[iClean] << " not loaded." << std::endl; return; } if (h1stubsInLayerOR[iLay][iClean]==0) { std::cout << "ERROR. " << hName+sClean[iClean] << " overlap removed not loaded." << std::endl; return; } } } } // std::cout << h1stubsInLayer [iLay][0] << "\t" << h1stubsInLayer [iLay][1] << "\t" << h1stubsInLayerOR[iLay][0] << "\t" << h1stubsInLayerOR[iLay][1] << std::endl; } for (unsigned short iClean = 0; iClean < 2; ++iClean) { TString hString("h1RoadPerEvent_"+sLogic); h1RoadPerEvent [iClean] = (TH1*) fIn .Get(hString+sClean[iClean]); h1RoadPerEventOR[iClean] = (TH1*) fInOR.Get(hString+sClean[iClean]); hString=TString("h1CombPerRoad_")+sLogic; h1CombPerRoad [iClean] = (TH1*) fIn .Get(hString+sClean[iClean]); h1CombPerRoadOR [iClean] = (TH1*) fInOR.Get(hString+sClean[iClean]); hString=TString("h1CombPerEvent_")+sLogic; h1CombPerEvent [iClean] = (TH1*) fIn .Get(hString+sClean[iClean]); h1CombPerEventOR [iClean] = (TH1*) fInOR.Get(hString+sClean[iClean]); hString=TString("h1RoadPerEvent_"+sLogic2); h1RoadPerEvent6oo6 [iClean] = (TH1*) fIn2 .Get(hString+sClean[iClean]); hString=TString("h1CombPerRoad_")+sLogic2; h1CombPerRoad6oo6 [iClean] = (TH1*) fIn2 .Get(hString+sClean[iClean]); hString=TString("h1CombPerEvent_")+sLogic2; h1CombPerEvent6oo6 [iClean] = (TH1*) fIn2 .Get(hString+sClean[iClean]); } TString cName("cStubsPerLayer_"+sLogic+pName); TString cTitle("StubsPerLayer "+sLogic+pTitle); TCanvas* cStubsPerLayer = new TCanvas(cName,cTitle,0,0,1400,900); cStubsPerLayer->Divide(3,2); for (unsigned short iLay=0; iLay<6; ++iLay) { char cc3[100]; cStubsPerLayer->cd(iLay+1); gPad->SetLogy(); h1stubsInLayer [iLay][0]->DrawCopy(); TLegend* tl = new TLegend(0.3,0.75,0.9,0.9); sprintf(cc3,"Mean # stubs: %3.2lf",h1stubsInLayer [iLay][0]->GetMean()); TLegendEntry* tle = tl->AddEntry(h1stubsInLayer [iLay][0],cc3,"l"); tle->SetLineColor(h1stubsInLayer [iLay][0]->GetLineColor()); tle->SetLineWidth(h1stubsInLayer [iLay][0]->GetLineWidth()); tl->Draw("L"); } if (makePlots) { cStubsPerLayer->SaveAs(dirPlots+cName+"__.pdf"); cStubsPerLayer->SaveAs(dirPlots+cName+"__.png"); } for (unsigned short iLay=0; iLay<6; ++iLay) { char cc3[100]; cStubsPerLayer->cd(iLay+1); gPad->SetLogy(); h1stubsInLayerOR[iLay][0]->SetLineColor(2); h1stubsInLayerOR[iLay][0]->DrawCopy("same"); TLegend* tl = new TLegend(0.25,0.75,0.9,0.9); sprintf(cc3,"Mean # stubs: %3.2lf",h1stubsInLayer [iLay][0]->GetMean()); TLegendEntry* tle = tl->AddEntry(h1stubsInLayer [iLay][0],cc3,"l"); tle->SetLineColor(h1stubsInLayer [iLay][0]->GetLineColor()); tle->SetLineWidth(h1stubsInLayer [iLay][0]->GetLineWidth()); sprintf(cc3,"Mean # stubs Overlap Removed: %3.2lf",h1stubsInLayerOR[iLay][0]->GetMean()); tle = tl->AddEntry(h1stubsInLayerOR[iLay][0],cc3,"l"); tle->SetLineColor(h1stubsInLayerOR[iLay][0]->GetLineColor()); tle->SetLineWidth(h1stubsInLayerOR[iLay][0]->GetLineWidth()); tl->Draw("L"); } if (makePlots) { cStubsPerLayer->SaveAs(dirPlots+cName+"_OR_.pdf"); cStubsPerLayer->SaveAs(dirPlots+cName+"_OR_.png"); } cName=TString("cStubsPerLayerDsClean_")+sLogic+pName; cTitle=TString("StubsPerLayer Ds clean ")+sLogic+pTitle; TCanvas* cStubsPerLayerDsClean = new TCanvas(cName,cTitle,0,0,1400,900); cStubsPerLayerDsClean->Divide(3,2); for (unsigned short iLay=0; iLay<6; ++iLay) { char cc3[100]; cStubsPerLayerDsClean->cd(iLay+1); gPad->SetLogy(); h1stubsInLayer [iLay][0]->DrawCopy(); h1stubsInLayer [iLay][1]->SetLineColor(8); h1stubsInLayer [iLay][1]->DrawCopy("same"); TLegend* tl = new TLegend(0.25,0.75,0.9,0.9); sprintf(cc3,"Mean # stubs: %3.2lf",h1stubsInLayer [iLay][0]->GetMean()); TLegendEntry* tle = tl->AddEntry(h1stubsInLayer [iLay][0],cc3,"l"); tle->SetLineColor(h1stubsInLayer [iLay][0]->GetLineColor()); tle->SetLineWidth(h1stubsInLayer [iLay][0]->GetLineWidth()); sprintf(cc3,"Mean # stubs #Deltas clean: %3.2lf",h1stubsInLayer [iLay][1]->GetMean()); tle = tl->AddEntry(h1stubsInLayer [iLay][1],cc3,"l"); tle->SetLineColor(h1stubsInLayer [iLay][1]->GetLineColor()); tle->SetLineWidth(h1stubsInLayer [iLay][1]->GetLineWidth()); tl->Draw("L"); } if (makePlots) { cStubsPerLayerDsClean->SaveAs(dirPlots+cName+"__.pdf"); cStubsPerLayerDsClean->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cStubsPerLayerDsCleanOR_")+sLogic+pName; cTitle=TString("StubsPerLayer #Deltas clean Overlap Removed ")+sLogic+pTitle; TCanvas* cStubsPerLayerDsCleanOR = new TCanvas(cName,cTitle,0,0,1400,900); cStubsPerLayerDsCleanOR->Divide(3,2); for (unsigned short iLay=0; iLay<6; ++iLay) { char cc3[100]; cStubsPerLayerDsCleanOR->cd(iLay+1); gPad->SetLogy(); h1stubsInLayer [iLay][0]->DrawCopy(); h1stubsInLayerOR[iLay][0]->SetLineColor(2); h1stubsInLayerOR[iLay][0]->DrawCopy("same"); h1stubsInLayerOR[iLay][1]->SetLineColor(6); h1stubsInLayerOR[iLay][1]->DrawCopy("same"); TLegend* tl = new TLegend(0.25,0.70,0.9,0.9); sprintf(cc3,"Mean # stubs: %3.2lf",h1stubsInLayer [iLay][0]->GetMean()); TLegendEntry* tle = tl->AddEntry(h1stubsInLayer [iLay][0],cc3,"l"); tle->SetLineColor(h1stubsInLayer [iLay][0]->GetLineColor()); tle->SetLineWidth(h1stubsInLayer [iLay][0]->GetLineWidth()); sprintf(cc3,"Mean # stubs Ov. Rem.: %3.2lf",h1stubsInLayerOR[iLay][0]->GetMean()); tle = tl->AddEntry(h1stubsInLayerOR[iLay][0],cc3,"l"); tle->SetLineColor (h1stubsInLayerOR[iLay][0]->GetLineColor()); tle->SetLineWidth (h1stubsInLayerOR[iLay][0]->GetLineWidth()); sprintf(cc3,"Mean # stubs Ds clean Ov. Rem.: %3.2lf",h1stubsInLayerOR[iLay][1]->GetMean()); tle = tl->AddEntry(h1stubsInLayerOR[iLay][1],cc3,"l"); tle->SetLineColor (h1stubsInLayerOR[iLay][1]->GetLineColor()); tle->SetLineWidth (h1stubsInLayerOR[iLay][1]->GetLineWidth()); tl->Draw("L"); } if (makePlots) { cStubsPerLayerDsCleanOR->SaveAs(dirPlots+cName+"__.pdf"); cStubsPerLayerDsCleanOR->SaveAs(dirPlots+cName+"__.png"); } const short nQuant = 4; double percentiles [nQuant] = {0.90, 0.95, 0.99, 0.999}; double xpercentiles[6][nQuant]; cName=TString("cRoadPerEvent_")+sLogic+pName; cTitle=TString("Roads per Tower "+sLogic+pTitle); TCanvas* cRoadPerEvent = new TCanvas(cName,cTitle,0,0,1400,900); cRoadPerEvent->SetLogy(); h1RoadPerEvent [0]->SetTitle(cTitle); h1RoadPerEvent [0]->DrawCopy(); // h1RoadPerEvent6oo6[0]->SetLineColor(14); // h1RoadPerEvent6oo6[0]->DrawCopy("same"); char cc3[100]; h1RoadPerEvent [0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3," #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1RoadPerEvent [0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); TLegend* tl = new TLegend(0.25,0.84,0.9,0.9); TLegendEntry* tle = tl->AddEntry(h1RoadPerEvent [0],cc3,"l"); tle->SetLineColor(h1RoadPerEvent [0]->GetLineColor()); tle->SetLineWidth(h1RoadPerEvent [0]->GetLineWidth()); // h1RoadPerEvent6oo6[0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); // sprintf(cc3,"# roads/tower-6/6. #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1RoadPerEvent6oo6[0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); // tle = tl->AddEntry(h1RoadPerEvent6oo6[0],cc3,"l"); // tle->SetLineColor(h1RoadPerEvent6oo6[0]->GetLineColor()); // tle->SetLineWidth(h1RoadPerEvent6oo6[0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cRoadPerEvent->SaveAs(dirPlots+cName+"__.pdf"); cRoadPerEvent->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cRoadPerEvent_OR_")+sLogic+pName; cTitle=TString("Roads per Tower "+sLogic+pTitle); TCanvas* cRoadPerEventOR = new TCanvas(cName,cTitle,0,0,1400,900); cRoadPerEventOR->SetLogy(); h1RoadPerEvent [0]->SetTitle(cTitle); h1RoadPerEvent [0]->DrawCopy(); h1RoadPerEvent [0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3," #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1RoadPerEvent [0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tl = new TLegend(0.25,0.8,0.9,0.9); tle = tl->AddEntry(h1RoadPerEvent [0],cc3,"l"); tle->SetLineColor(h1RoadPerEvent [0]->GetLineColor()); tle->SetLineWidth(h1RoadPerEvent [0]->GetLineWidth()); h1RoadPerEventOR[0]->SetLineColor(2); h1RoadPerEventOR[0]->DrawCopy("same"); h1RoadPerEventOR[0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3,"Ov. Masked #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1RoadPerEventOR[0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tle = tl->AddEntry(h1RoadPerEventOR[0],cc3,"l"); tle->SetLineColor(h1RoadPerEventOR[0]->GetLineColor()); tle->SetLineWidth(h1RoadPerEventOR[0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cRoadPerEventOR->SaveAs(dirPlots+cName+"__.pdf"); cRoadPerEventOR->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerRoad_")+sLogic+pName; cTitle=TString("Combinations per Road "+sLogic+pTitle); TCanvas* cCombPerRoad = new TCanvas(cName,cTitle,0,0,1400,900); cCombPerRoad->SetLogy(); h1CombPerRoad [0]->SetTitle(cTitle); h1CombPerRoad [0]->DrawCopy(); h1CombPerRoad [0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3,"# combinations/road. #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1CombPerRoad [0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tl = new TLegend(0.25,0.75,0.9,0.9); tle = tl->AddEntry(h1CombPerRoad [0],cc3,"l"); tle->SetLineColor (h1CombPerRoad [0]->GetLineColor()); tle->SetLineWidth (h1CombPerRoad [0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerRoad->SaveAs(dirPlots+cName+"__.pdf"); cCombPerRoad->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerRoad_OR_")+sLogic+pName; h1CombPerRoadOR[0]->SetLineColor(2); h1CombPerRoadOR[0]->DrawCopy("same"); h1CombPerRoadOR[0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3,"# combinations/road. Ov. Masked. #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1CombPerRoadOR[0]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tle = tl->AddEntry(h1CombPerRoadOR[0],cc3,"l"); tle->SetLineColor (h1CombPerRoadOR[0]->GetLineColor()); tle->SetLineWidth (h1CombPerRoadOR[0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerRoad->SaveAs(dirPlots+cName+"__.pdf"); cCombPerRoad->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerRoad_OR_DsClean_")+sLogic+pName; h1CombPerRoadOR[1]->SetLineColor(8); h1CombPerRoadOR[1]->DrawCopy("same"); h1CombPerRoadOR[1]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3,"# combinations/road. #Deltas clean Ov. Masked #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1CombPerRoadOR[1]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tle = tl->AddEntry(h1CombPerRoadOR[1],cc3,"l"); tle->SetLineColor (h1CombPerRoadOR[1]->GetLineColor()); tle->SetLineWidth (h1CombPerRoadOR[1]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerRoad->SaveAs(dirPlots+cName+"__.pdf"); cCombPerRoad->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerEvent_")+sLogic+pName; cTitle=TString("Combinations per Tower "+sLogic+pTitle); TCanvas* cCombPerEvent = new TCanvas(cName,cTitle,0,0,1400,900); cCombPerEvent->SetLogy(); h1CombPerEvent [0]->SetTitle(cTitle); h1CombPerEvent [0]->DrawCopy(); h1CombPerEvent [0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3," #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",45.7,percentiles[3]*100,772.4); tl = new TLegend(0.25,0.75,0.9,0.9); tle = tl->AddEntry(h1CombPerEvent [0],cc3,"l"); tle->SetLineColor (h1CombPerEvent [0]->GetLineColor()); tle->SetLineWidth (h1CombPerEvent [0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerEvent->SaveAs(dirPlots+cName+"__.pdf"); cCombPerEvent->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerEvent_OR_")+sLogic+pName; h1CombPerEventOR[0]->SetLineColor(2); h1CombPerEventOR[0]->DrawCopy("same"); h1CombPerEventOR[0]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3," Ov. Masked #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1CombPerEventOR[0]->GetMean(),percentiles[3]*100,467.4); tle = tl->AddEntry(h1CombPerEventOR[0],cc3,"l"); tle->SetLineColor (h1CombPerEventOR[0]->GetLineColor()); tle->SetLineWidth (h1CombPerEventOR[0]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerEvent->SaveAs(dirPlots+cName+"__.pdf"); cCombPerEvent->SaveAs(dirPlots+cName+"__.png"); } cName=TString("cCombPerEvent_OR_DsClean_")+sLogic+pName; h1CombPerEventOR[1]->SetLineColor(8); // h1CombPerEventOR[1]->SetTitle(cTitle); // h1CombPerEventOR[1]->DrawCopy(); h1CombPerEvent [0]->DrawCopy(); h1CombPerEventOR[0]->DrawCopy("same"); h1CombPerEventOR[1]->DrawCopy("same"); h1CombPerEventOR[1]->GetQuantiles(nQuant,xpercentiles[0],percentiles); sprintf(cc3,"#Deltas clean Ov. Masked #mu=%3.1lf, #Lambda_{%3.1lf}=%3.1lf",h1CombPerEventOR[1]->GetMean(),percentiles[3]*100,xpercentiles[0][3]); tle = tl->AddEntry(h1CombPerEventOR[1],cc3,"l"); tle->SetLineColor (h1CombPerEventOR[1]->GetLineColor()); tle->SetLineWidth (h1CombPerEventOR[1]->GetLineWidth()); tl->Draw("L"); if (makePlots) { cCombPerEvent->SaveAs(dirPlots+cName+"__.pdf"); cCombPerEvent->SaveAs(dirPlots+cName+"__.png"); } TFile f1("/home/rossin/Dropbox/TT/Work/figures_stubOverlapRemoval/eff_LTF_SingleMuonTest_tt27_PU0_sf1_nz4_pt3_5oo6_95c_100k/efficiency1_10dedup_ppt_sf1_nz4.root"); TFile f2("/home/rossin/Dropbox/TT/Work/figures_stubOverlapRemoval/eff_LTF_SingleMuonTest_tt27_PU0_sf1_nz4_pt3_5oo6_95c_100k_removeOverlap/efficiency1_10dedup_ppt_sf1_nz4.root"); TCanvas* c1 = (TCanvas*) f1.Get("c1"); TList* list1 = c1->GetListOfPrimitives(); TIter next1(list1); TObject* obj1; TGraphAsymmErrors* eff_graph; while ((obj1 = next1())) { std::cout << obj1->GetName() << std::endl; if (obj1->GetName()==TString("eff_graph")) eff_graph = (TGraphAsymmErrors*) obj1; } // eff_graph->GetYaxis()->SetTitle("#varepsilon"); // eff_graph->SetMinimum(0.8); TCanvas* c1OR = (TCanvas*) f2.Get("c1"); c1OR->SetName("eff_OR"); c1OR->SetTitle("eff_OR"); TList* list = c1OR->GetListOfPrimitives(); TIter next(list); TObject* obj; TGraphAsymmErrors* eff_graphOR; c1->Draw(); while ((obj = next())) { std::cout << obj->GetName() << std::endl; if (obj->GetName()==TString("eff_graph")) { eff_graphOR = (TGraphAsymmErrors*) obj; eff_graphOR->SetLineStyle (eff_graph->GetLineStyle()); eff_graphOR->SetLineWidth (eff_graph->GetLineWidth()/2); eff_graphOR->SetMarkerStyle(eff_graph->GetMarkerStyle()); eff_graphOR->SetMarkerSize (eff_graph->GetMarkerSize()); eff_graphOR->SetFillColor (eff_graph->GetFillColor()); eff_graphOR->SetFillStyle (eff_graph->GetFillStyle()); eff_graphOR->SetMarkerColor(4); eff_graphOR->SetLineColor(4); eff_graphOR->GetYaxis()->SetTitle("#varepsilon"); eff_graphOR->Draw("same p"); } } tl = new TLegend(0.4,.13,0.95,0.35); tl->AddEntry(eff_graph ,"No Overlap Removal","p"); tl->AddEntry(eff_graphOR," Overlap Removal","p"); tl->Draw(); if (makePlots) { c1->SaveAs(dirPlots+TString("totalRecoEff_OR")+"__.png"); c1->SaveAs(dirPlots+TString("totalRecoEff_OR")+"__.pdf"); } return; }